t*^tmmmm$ n ■ p > , » < n »
:-^itji^-jiM.i'^--
I M I M >» »' ■»»»» ''»r»*Yttti
••#••♦••♦•••••••••••*
» ••to**** •••••"• *
•J»#**««** **'
'-":-S^ErS:»^
Simulator n
ml^'-'
rourseif in the pilot's seat of a Piper 181 Cherokee Archerfor an awe-inspiring flight over realistic scene
from New Yorlcto Los Angeles. High speed color-filled 3D^aphics will give you a beautiful panoramic vie
as you practice tal<eoffs, landings, and aerobatics. Complete documentation will get you airborne quicldy
even if you've never flown before. When you think you're ready, you can play the World War I Ace aerial battii
game. Flight Simulator II features include ■ animated color 3D graphics ■ day, dusk, and night flying mode.
■ over 80 airports in four scenery areas: New York, Chicago, Los Angeles, Seattle, with additional scenery !
areas available ■ user-variable weather, from clear blue skies to grey cloudy conditions ■ complete flight I
instrumentation ■ VOR, ILS, ADF, and DME radio equipped ■ navigation facilities and course plotting ■ World f
War I Ace aerial battle game ■ complete information manual and flight handbook.
See your dealer..
or write or call for more information. For direct orders enclose $49.95 plus $2.00
for sfiipping and specify UPS or first class mail delivery. American Express,
Diner's Club, MasterCard, and Visa accepted.
Order Line: 800 / 637-4983
CIRCLE #101 ON READER SERVICE CARD
LOGIC
Corporation
713 Edgebroolc Drive
Cliampaign IL 61820
(217) 359-8482 Telex: 208995
NO. 29
APRIL 1985
THE #1 MAGAZINE FOR ATARI® COMPUTER OWNERS
COMPUTING
FEATURES
Winter CES: Part 2 Arthur Leyenberger 4
RAMCHECK Angelo Giambra 19
RAM Operating System
for Atari XLs Ken Alexander 22
MaxiCopy Grant Albreciit 25
Extended Calculations Donny Chert 30
XL Compatibility Dwight Stanley 34
Dragonlord Clayton Walnum 38
XL Expansion Connector Michael Alan Barton 48
Revive
A disk file recovery utility Philip Altman 55
Cheep Talk: Build your own
speech synthesizer Lee Brilliant, M.D. 59
B-Line Angelo Giambra 73
REVIEWS
Software Movies: Visualizer
(Maximus) Arthur Leyenberger 89
Suspect (Infocom, Inc.) Ray Berube 47
COLUMNS
Reader Comment 6
Griffin's Lair Braden E. Griffin, M.D. 9
Ask Mr. Forth Donald Forbes 13
Unicheck 32
The End User Arthur Leyenberger 68
Boot Camp Tom Hudson 71
Index to Advertisers 92
Reader Service 93
ANALOG COMPUTING (ISSN 0744-9917) is puMishi-d monthly for $28 pi-r ya, by ANALOG 400/800 Corp., 565 Main Sirvu. Clurry V.,ll,-y. MA OKill. Si-cond class postaiii- P»iJ « Worccs,cr. MA and addiilonal mailing oflic
^
/.
^* ^ La^be' of o
i yoof
gl^gp
ASSAULT ON THE ASTRAL RIFT
I ■ ' is available at
'-■ "" your local dealer or direct
from MMG Micro Software. Just
send check or money order to P.O. Box
131, Marlboro, N.J. 07746 or for Mastercard,
Visa, and C.O.D. deliveries call (201)431-3472. Please
add $3.00 for postage and handling. New Jersey residents add
O/o Sales tax, _y^j^^™^^~^^_p^^jj|_j^ . Atan is a registered trademark of Atan, Inc
tIMm^M- circle #102 ON READER SERVICE CARD
rove\ be^
ond, '\^
doing ^O'
--So>^ned..ef*-
T^ev most
convened to a ^^^^
^"°"?o!,toov. the ->
event'
s. T^roe- - ^ouf
beg^n V^
r*e*9°"^^'"
oo. oowerse'.
•■^'MitairOifj:
ANALOG COMPUTING
STAFF
Editors/Publishers
MICHAEL J. DESCHENES
LEE H. PAPPAS
Managing Editor
JON A. BELL
Production Editor
DIANE L. GAW
Contributing Editors
DONALD FORBES
BRADEN GRIFFIN, M.D.
TONY MESSINA
East Coast Editor
ARTHUR LEYENBERGER
West Coast Editor
JIM DUNION
Art Director
BOB DESI
Contributing Artist
LINDA RICE
Technical Division
CHARLES BACHAND
TOM HUDSON
KYLE PEACOCK
Advertising Manager
MICHAEL J. DESCHENES
Distribution
PATRICK J. KELLEY
Production/Distribution
LORELL PRESS, INC.
Contributors
GRANT ALBRECHT
KEN ALEXANDER
PHILIP ALTMAN
MICHAEL ALAN BARTON
RAY BERUBE
LEE BRILLIANT, M.D.
DONNY CHERF
ANGELO GIAMBRA
DWIGHT STANLEY
CLAYTON WALNUM
ANALOG Computing
magazine (ANALOG 400/800
Corp.) is in no way affiliated
with Atari. Atari is a
trademark of Atari, Corp.
For subscription information
and service
call toll-free:
1'800'345'8112
in Pennsylvania call
1-800-662-2444
ADVERTISING SALES
ANALOG Computing
Home Office
Michael DesChenes
National Advertising
(617)892-9230
Gerald F. Sweeney St Associates
P.O. Box 662
New York. NY 10113
(212)242-3540
Address all advertising materials to:
Michael DcsChencs — Advertising Production
ANALOG Computing
565 Main Street, Cherry Valley, MA 01611
ANALOG Computing (ISSN 0744-9917) is published monthly for $28 per year by
ANALOG 400/800 Corp., 565 Main Street, Cherry Valley, MA 01611, Tel. (617)
892-3488. Second-class postage paid at Worcester, MA and additional mailing of-
fices. POSTMASTER: Send address changes to ANALOG Computing, P.O. Box
615, Holmes, PA 19043. No portion of this magazine may be reproduced in any form
without written permission of the publisher. Program listings should be provided in
printed form. Articles should be furnished as typed copy in upper and lower case with
double spacing. By submitting articles to ANALOG Computing, authors acknowledge
that such materials, upon acceptance for publication, become the exclusive property
of ANALOG Computing. If not accepted for publication, the articles and/or pro-
grams will remain the property of the author. If submissions are to he returned, please
supply self-addressed, stamped envelope. U.S.A. newstand distribution by Eastern News
Distributors, Inc., Ill Eighth Ave., New York, NY 10011.
Contents copyright © 1985 ANALOG 400/800 Corp.
PAGE 4
ANALOG COMPUTING
ISSUE 29
by Arthur Leyenberger
At the Summer Consumer Electronics Show held
in Chicago in June of 1984, Atari was still trying to
turn things around. The theme of their press confer-
ence was printed everywhere, even on free T-shirts
(one of which I still have), proclaiming "June 3, 1984
— the Day the Future Began." Little did we (or they)
know that the future was to begin almost a month
later, when Jack Tramiel bought Atari from Warner
Communications.
After the surprise announcement that Atari was
now owned by Tramel Technologies, little or no in-
formation came out of the Sunnyvale headquarters
of the new Atari Corp. Promises were continually
made by Jack Tramiel and every other remaining Atari
executive that "you'll see — at CES in January we'll
be showing our new computers, and they will knock
your socks off."
It came true. The big news at the 1985 Winter CES
in Las Vegas was hardware. . .specifically, Atari hard-
ware (see our preview of the new Atari computers in
issue 28).
Sure, Coleco was there with a huge exhibit, right
across from the Atari booth. Coleco announced just
a few days before the show that they were getting out
of the home computer business. Seems as if the Adam
has been chased out of the home computer Garden
of Eden. Anyway, I guess somebody forgot to tell the
unfortunate Coleco employees that their company was
no longer in the computer business. They spent a lot
of their time standing around and talking amongst
themselves.
Commodore was there in full strength. Well, almost.
They were, after all, missing their past driving force,
Jack Tramiel. Nonetheless, they were showing off the
Commodore 128 computer, the replacement for the
aging 64. They hope to repeat their past 64's success
with the new machine.
However, the January Wall Street Journal reported
Commodore International's earnings falling 94% in
the industry's traditionally strong season, the last
quarter of 1984. Far fewer Commodore 64s were sold
this last Christmas than the previous year. The shock-
er for Commodore was the fact that as many Atari
XLs were sold as 64s — an unprecedented occurrence.
Commodore has just chopped the price of the 64
from $200 to $149, in an attempt to clear out inven-
tory before they begin pushing the 128. The Christ-
mas losses could, in part, be due to the many defec-
tions from Commodore's upper management to the
new Atari. Also, there has been too much of a lag
between the 64 and the new 128 (which, compared
to the Atari ST line, is too little, too late).
(continued on page 84)
Q : What's 69% Faster Than a Commodore 64?
What's 38%^'l^aster.Than an IBM* PC?_
What's 68% F*asterThan an IBM PCjr ?
What's 54% Faster Than Applesoft ?
A:
Basic
XL
The answer is BASIC XL.
Don't take our word for it! Try the benchmark test in January '85 issue
of Compute!^ magazine, on any of these computers with their Basic's.
Time it yourself. . . . Then try it on an Atari- computer with BASIC XL.
and the Price is IMOW OIMLY $79.00
*Just ask us for complete details, as well as other benchmark results.
#iS
Optimized Systems Software, Inc.
1221BKentwood Avenue, San Jose. California 951 29 (408)446-3099
IBM PC, PCjr are trademarks of IBM Corp.; Applesofl is a trademark of Apple Compiil«r Inc.; Commodore 6-1 is a trademark of Commodon; Business Machinee; Compu/e.' is a trademark of ABC Corp; Atari la a trademark of Atari Corporation.
CIRCLE #103 ON READER SERVICE CARD
PAGE 6
ANALOG COMPUTING
ISSUE 29
^^^^^^^^^^H ^^^H
1^^^ %.^
£2
|;
r^^ ■■ H ak TJ
■
Vf m.^^ ^^^^
Lost Lucasfilm games.
I am writing to you because I've
got two questions to ask you.
Ql: What happened to Atari/
Lucasfilm's Rescue on Fractalus?
Q2: What happened to Atari/
Lucasfilm's other, second game for
the Atari home computers, Ball-
blazer?
Lucasfilm said they would be out
in August 1984. It's now January
1985.
Your friend and forever reader,
James Warren
Both the Lucasfilm games, Ball'
blazer and Rescue on Fractalus,
have been bought by Epyx Software,
after the contract agreements with the
old Atari ran out. They should he out
soon. — Ed.
Printer as display screen.
This letter is in response to the
reader who was looking for a POKE
that would allow him to use his
printer as a display screen.
Try using:
POKE S3S,iee:P0KE 839,238
This will send anything which
normally prints on the screen to
the printer. To return to normal
printing, use:
POKE 838,ie3:P0KE 835,246
Sincerely,
Scott Sheck
Gaithersburg, MD
Documentation, please!
I have just finished reading your
interview with Mr. Tramiel . . .The
success of Commodore with the
Vic 20 and the 64 was price, but,
in my opinion, the superior docu-
mentation contributed greatly to
that success.
I own two Commodore 64s and
one Vic. The User's Guide coupled
with an optional ($14.95) Program-
mer Guide provide the user with all
the data he would ever want to
know about the machine, even a
schematic for the serious "hacker."
Like many of your readers, when
the price of the Atari 800XL went
down, I ran out and added to my
arsenal of home computers. When
I found what documentation came
with the system, I was appalled.
Therefore, I got on the phone to
Atari, only to find out I had to part
with another $40.00 for additional
documentation. It has been three
months now, and still no documen-
tation.
My point is this: Atari can build
the best machine for the buck, but
if they fail to support it in the form
of good documentation, it's good-
bye. Atari. The third-party people
helped Commodore with their suc-
cess story — via Commodore's "open
book" policy. Why doesn't Atari do
the same? Just ask the senior man-
agement at Texas Instrument or
Coleco what their "closed book"
policy got them.
Sincerely yours,
Joseph F. Stoneking
Colorado Springs, CO
Good documentation has always
boosted the success of any computer
product. We certainly hope that Atari
Corp. bears that in mind . . . Remem-
bering that this is a new company, we
trust they'll get the bugs out of their
information systems soon. — Ed.
Hexidecimals on the menu.
First, I must tell you that I look
forward to the arrival of your maga-
zine, and when it comes, all other
work around the house ceases tem-
porarily.
Second, I am a big fan of your
hexidecimal programs, like: Retro-
fire, Crash Dive!, Bacterion! and
Fire Bug. My question is this: is it
possible to put more than one of
these programs on one side of a
disk, then have a routine that —
when you boot up — gives you a
menu to choose one to RUN?
I was also wondering whether or
not a "fix" had been found for Bac-
terion! to prevent a system crash
during the game on XL machines.
Lastly, I would like to congratu-
late Matthew J.W Ratcliff on his
program Matt*Edit. It is one of my
all-time favorites, and besides being
useful, it is fun to use. Keep up the
great work!
Sincerely,
Bradly L. Pera
Canoga Park, CA
So far, we haven't been able to lo-
cate the problem with Bacterionl
but, hopefully, we'll have a fix soon.
As for our other machine language
games, the program called Binary
File Menu/Loader, printed in issue
17, will allow you to place several pro-
grams on one disk and run them from
a menu. — Ed.
New BBS.
I'm writing to invite your readers
to call a new Atari-oriented BBS
operating in Anniston, Alabama.
For its experimental stage, A.F.I.X.
BBS will be on-line from 6 p.m.
until 6 a.m. each weekday, and all
day Saturdays and Sundays. New
files available for download, and
plenty of message space is available.
The number is (205) 820-2053.
1 would also like to make a sug-
gestion. Keeping up with current
Atari-oriented BBSs is extremely
difficult, because new boards are
formed, old boards fall by the way-
side, and numbers are changed.
Perhaps ANALOG Computing
could devote a page each month
with a list of Atari BBSs known to
be active. When a new BBS comes
on-line, or a number changes, the
Sysop could notify the magazine.
If readers find a number that is
no longer active — or incorrect —
they could also notify ANALOG
Computing. A setup similar to this
would be a great service to Atari
modem enthusiasts.
Thank you for your excellent
magazine. I look forward to receiv-
ing it each month.
Sincerely,
CO. Dickerson
Anniston, AL
We feel that a current BBS listing
is important, too. Rather than print
an updated list in each issue of ANA-
LOG Computing, we're planning
to keep that information on our own
bulletin board, starting in the near fu-
ture. — Ed.
Adam's Adventures for XL.
I've been a 400 owner for three
years and an ANALOG Comput-
ing subscriber almost as long. Re-
cently, I bought an 800XL. . .and
found that the loader program in-
cluded with cassette versions of
Scott Adam's Adventures fails to
work properly.
I soon discovered that the reason
for this lies in the fact that routines
called by the loader program have
been moved lower in memory in
the XL OS. Changing the loader
program to the following will allow
XL users to continue enjoying cas-
sette versions of Scott Adam's Ad-
ventures:
10 DATft 184,169,0,133,9,32
,128,198,165,9,240,7,169,8
0,133,2,76,160,198,96
40 FDR 1=0 TO 19 .-READ A:PO
KE 1536+1, A:NEXT I:I=U5RC1
536)
Sincerely,
Ray Wilmott
Spotswood, NJ
Cassette Compressor problems.
Thank you for a great magazine,
which, although I am just a begin-
ner and mainly play games which
I type into my Atari, I find. . .very
interesting.
At the moment, we are having
a bit of difficulty getting ANA-
LOG Computing here, but our dis-
tributor is trying another source.
In issue 24, on page 55, there is a
program (Cassette Compressor) to
reduce the loading time of boot
games on cassette (I cannot afford
a disk drive yet). I have typed the
program in and CrCHECKed it,
but I still cannot condense any of
the commercial games (i.e., E.T.).
After going through the recom-
mended steps, the computer just
comes up with BOOT ERROR.
Could you help by explaining
why it will not work, as it would
save a lot of time when loading
these very long games.
Yours faithfully,
H.C. Langston
Cheshire, England
P.S. I own a 400 (48K) full type-
writer keyboard.
First, many commercial games use
a "multi-stage" boot process, which
Cassette Compressor is unable to
handle. Cassette Compressor is in-
tended to be used with single-stage
boot tapes, such as our machine lan-
guage games and utilities.
FROM
THREE
PDQ DISKS
AND A NEW
FUTURE
59.95
We'll tell you about the disks:
PDQ - Premium Disk Quality
DO - Double-Density (48 TPI)
DS ■ Double-Sided
The front is ready lor you to format and
use; the back is reusable.
W21 - 21-year Warranty!
Your A tari (48-K) can tell you about your
new future.
Boot in the program on the back of each disk.
You'll see.
Order PDQ! Write "PDQ" on a paper, with
your (legible!) name and address; send
with $9.95 (we'll pay the shipping for USA
and Canada ■ NYS residents add 7%
Sales Tax) to:
SENECOM
Dept. 26
13 White St.
Seneca Falls, N.Y. 13148
Limit: one order per address, please.
Atari' is a registered trademark of Atari Corporation.
SENECOM is a registered trademark of
Seneca Computer Company, Inc.
ASTRA 1620 ...
LIMITED QUANTITIES
$349.00
PLUS $10.00 SHIPPING
INCLUDED ...
SMARTDOS
ASTRA 2001
ASTRA BIG D
549.00
$645.00
(INCLUDES SMART DOS AND MY DOS)
DESK SET $39.00
COMPLETE DESK PACKAGE
CALENDAR
CALENDAR is a perpetual calendar, an appointment
calentJar and also a card file. Tiie perpetual calendar
is a calendar of every montti, past, present or future.
The appointmeni calendar allows up lo 15 entries to
be rrade eacfi day.
CARD FILE
Tfie card file is a mail list program wiiicfi holds up to
200 addresses. The printing formal of card file in-
cludes continuous lists, labels or envelopes. Files can
be printed; ail the files from one file number to
another; by zip code; by stale or by selected files.
LEHER WRITER
LETTER WRITER is a preformatted letter writing pro-
gram. LETTER WRITER can be used for any number
of applications involving entering, editing and printing
text. LETTER WRITER is designed to be easy to use
and does not require extensive training. While LET-
TER WRITER is not a full word processing system, it
performs 90% of the functions used by harder to use
and more expensive word processors. DESK SET
also contains a program that allows you to combine
Card File and Letter Writer for interaction.
FINANCIAL CALCULATOR
FINANCIAL CALCULATOR answers virtually any
questions concerning the cost of money, loans, and
interest earned on savings, loans and investments.
Plus, this program will give a complete interest earned
table and amortization table. This program is a must
for anyone serious about money.
FORECASTER
Forecast future events based on past information.
Forecast profits, costs, sales trends, prices test
scores, virtually anything. Edit, save on disi< and test
various elements to determine the outcome.
FORECASTER is a powerful "what if" program - a
must for business.
Two drive - double density - 48K required.
MasterCard/VISA
The Programmers Workshop
5230 Clark Ave., Suite 19
Lakewood, CA 90712
PHONE (213) 920-8809
CIRCLE #104 ON READER SERVICE CARD
CIRCLE #105 ON READER SERVICE CARD
PAGE 8
ANALOG COMPUTING
ISSUE 29
^
LEARN TO PROGRAM
GRAPHICS. GAMES & SOUND EFFECTS!
NOW SOLD DIRECTLY TO YOU
AT DISTRIBUTOR PRICES
LIMITED EDITION BOOK MANUSCRIPTS
Due lo a publisher's change of plans, we otier you two books we
have written, in their manuscript form. Each comes lo you as a
limited, hand numbered edition of over 200 pages, with a compitti
dlik full of lottwirt examples, editors, and assembly language
tools useable by anyone. They are written using BASIC, but the
material is easily translated to other languages.
ARCADE STYLE GRAPHICS: Many books teach you how to draw a
tew circles or charts. In this book we create a complete, animated
picture, step by step. Starting with basic concepts, such as using
keyboard characters for your graphics, the program adds new
ideas to the screen one at a time, with many examples. The disk in-
cluded has tools & editors lor character sets and drawing back-
grounds. The only book on graphics you need ever buy. $39.95
BASIC GAME DESIGN: A fascinating and complete look at how a
designer creates an arcade game, step by step, IN BASIC! You will
tiuild your own version of SPACE INVADERS, using the ideas ex-
plained in the first book and adding Animation. Sound Effects,
Game Logic, Scoring, and Special Effects The final game looks
and plays jusi like the original in the arcades. The lull disk of soft-
ware includes all examples and editors typed in lor you. $39.95
THE MASTER MEMORY MAP: Over 65,000 copies of this fine
reference have been sold. This book has EVERYTHING you could
want to l<now about the machine with 50 sample programs you can
type in It goes through each memory location, tells you what it
does, and what you can change to control the machine yourself,
even it you don't program. Specify ATARI. C-64. VIC 20. or IBM
PC. $15,95. ATAH) 40 page reference version costs $6.95. All of
the examples already typed in on a disk costs $9.95.
TRICKY TUTORIALS (Im) TO HELP YOU PROGRAM
Each program in this series comes with a disk (32K) or tape (16K).
and a manual up lo 66 pages They are written in a friendly manner
to be used by beginners or experts alike Over 50,000 sold with
many high rated reviews!
#1 DISPLAY LISTS— Learn to create your own graphics & lex!
modes $9.95, fl SCROLLING-Explains how to move the
screen you see over maps of graphics or text $9,95, #3 PAGE
FLIPPING— Change the entire screen instantly to another display
picture $9,95. #4 BEGINNING ANIMATION-Learn to create the
Illusion of movement using simple shapes $9.95. 15 PLAYER
MISSILE GRAPHICS— Create your own PACMAN lype game while
learning aboul Collisions, backgrounds. Players, scoring, and
more Our best seller $14.95. jffi SOUND & MUSIC-Learn a
simple way lo write music and sound elfecls on your computer
$14,95. #7 DISK UTILITIES-Seven disk tools, FORIvlATER, IN-
SPECTOR. AUTORUN SYS MAKER, RPIVl CHECKER. I^ENU
MAKER. DIRECTORY PRINTER. & FILES TUTORIAL $14.95. #B
OUR HEUEST PRODUCTS
FRon COnPUTERS HADE SinPLE!
CHARACTER GRAPHICS-Change letter shapes into anything you
wish Includes an editor that makes creating and animating the
shapes easy, and a linker that actually writes BASIC code A com-
plete game is included as an example $14.95, jW GTIA
GRAPHICS-Use graphics modes 9 lo 11 to create 3-D shapes,
place 16 colors on the screen al once, and even digitize pictures
using these new modes Includes a 9 color picture editor similar lo
the ■painter" programs and ■'Pads' thai others sell. $14.95.
#10 SOUND EFFECTS-30 Simple sound effects like lazers.and'
bombs, an effects editor, explanation how.U) combine sounds and
graphics, and 16t-fiiisounds lor extended range $14.95. #11
MFMORY M)0> TUTOmAL-Examples how lb conlrol the cursor,
text wmdows. user keys, joysticks and paddles, labs, inverse
video, upside down letlenng, break key protection, and 25 more
$14.95, #12 THE S.A.M. TUTORIAL-Usmg your )oysllck, you
can learn to make Software Automated Mouth sing, change the
sound of the voice, add graphics, explore phonemes, and even
change inflections $14,95. #13 BASIC TOOLS-lncludes the
following tools thai add themselves to Atari BASIC RENUMBER.
DELETE. TRACE. EXPAND lakes programs with many slatemenis
per line and breaks (hem up to make the program easy lo read,
QUICKREF lells you the lines & numbers where all of the variables
and constants are used, LISTER prints out your programs, in-
cluding all of Ihe special characters that you see on the screen (like
hearts and diamonds] $14,95, #14 ADVANCED PROGRAMMING
TOOLS-Machme language tools we use to write our commercial
programs useable Irom BASIC or Assemtily Tools for PLAYER
MISSILE MOVEMENT, TIME DELAYS, SOUND EFFECTS, PAGE
FLIPPING, MEMORY MOVEMENT. SPECIAL CHARACTER FONTS,
and save FULL GRAPHICS SCREENS (1/10) in seconds. DISK ON-
LY $14,95, #15 FANCY FONTS-lncludes many sample fonts,
an editor, and adds a new set of sub routines ihal you can calf to
creale great displays Loadj^he fonts you create into your EPSON
FX 80 or 10_0 qon*ptr1e^ print oul Ihe fonts on-^WY printer as you
creale^lhei^ $14.95,
We also oiler 4 arcaoe--games, 8 childrens educdiional programs,
and 9 olhers, aU -priced under $15. lor 16K TAPE or 32K DISK!
SEND A Saf-ADDRESSED STAMPED ENVELOPE FOR A COM-
PLETE AWRI CATALOG
M jneyback guarantee If unsatisfied!!
ORDER BY CHECK, VISA. IM/C. OR C.O.D.
ADO S3.00 SHIPPING. ADD S2.00 lor C.O.D. OR 15% FOREIGN
COMPUTERS MADE SIMPLE!
1974 Suck St., Eugene. OR 97405
(503) 344-2767
/; CIRCLE #106 ON READER SERVICE CARD
Second, cnnimerdal programs are
usually already made with short inter'
record gaps, making Cassette Com'
pressor unnecessary. — Ed.
Problem solvers.
I have a problem with my Bopo-
tron! program. The platforms don't
show up in any color at all, and
they only move once in one di-
rection.
Second, there is a problem with
my Robot Raid program. When-
ever I pass the final mission and try
to take the next screen, it gives me
an ERROR HI at Line 230. What
is wrong? Can it be fixed?
Third, my Unicheck program
won't run in its AUTORUN. SYS
file on disk. I have even tried put-
ting the FMS.SYS file on the disk
with it, but this does not work,
either. Something is wrong, but I
can't figure out what it is.
Sincerely,
Troy Goodson
Charleston, SC
Bopotron! and Unicheck both
work fine as listed, and the problems
you have experienced are most likely
errors made typing them in.
Robot Raid simply runs out of
DATA for its screens after the third
level. The following lines correct this
problem, repeating the third level.
860 LU=LM-II2:LEWEL=LEWELHH
2: IF LEgEL>60 THEM LEUEL^L
EMEL-12:LW=LV+N2
865 RESTORE 19e78+LEVEL:F0
R I=N1 TO 48: READ A: MAP CI)
=A:NEKT I
-Ed.
For Subscribers Only. . .
If you're a subscriber to ANALOG Computing, from time to
time you'll notice that we will have a bonus bound into our
pages. This is one of those times. You'll find the ANALOG Com-
puting Reference Card bound in the center of this issue. To use
the card, pull it out and fold it on the score lines. We think you'll
find it quite a convenience.
Nonsubscribers — want your own reference card? You can order
copies directly from us for $7.95 each. Send your check to:
ANALQO Cjom^ting^ >
;. ._RP--6pxi3r'^!&fcester, MA 01610
Better ■etitl, subscribe today.
r^
CIRCLE #107 ON READER SERVICE CARD
LOGO
by
AIDE
BARRY A. HOGiijND
REPRODUCEABIjE
$$SAVE$$ \
{LCSI VERSION FOR ATARI COMPUTERS) "'=
PARENTSI STUDENTS! USERS GROUPS!^
A BOOK WRITTEN BY A TEACHER,
FOR TEACHERS, IS NOW AVAILABLE '
TO THE PUBLIC.
LOGO AIDE Is directed toward ATARI users
with limited experience In LOGO. The content Is
•^"^ highly structured and easy lo use. Topics such
as Initial Primitives, Multiple Turtles. Writing
Procedures, Shape Editing, Using Variables, and
Project Planning are addressed. Materials
Include teaching aides, quick reference charts
and large graphics. Ail explanations are well V'
organized, clearly stated and (un! ^
The author has granted dupllcalion rights toe
all parts of the book that are used with the
purchaser's students or users group. ^
LOGO AIDE Is equally suitable for the K^
teacher with one computer and limited timi. The
G-8 teacher In a lab selling, the In-service wacher
or college Instructor with computer literacy^
responslbllitleB. and Parents . Students , and tJser
Groups. \
MAIL CHECK on MbMEV ORDER TO
AUGUST PUBLICATIONS
PC BOX 67 -..
SAN RAFAEL CA 9^915 '"-v
'COPIES PRICE
EXPIRATION DATE .
SIGNATURE
ADDRESS
^
=5,.
CIRCLE #108 ON READEJI^ERVICE CARD
m
ISSUE 29
ANALOG COMPUTING
PAGE 9
Griffin^s
Lair
Educational
Programs
Revieiv ^
,r-^'
by Braden E. Griffin, M.D.
How many ways are there to develop mathematical
skills with educational software? Not many. Some of
us fall into the same trap with educational software
that we do with game programs. After the first few
embellishments of an original concept, the "rip-offs"
become so widespread and indistinguishable that they
are often ignored.
The "classics" sell because of a unique combination
of originality and presentation. Having played a Lode
Runner, Jumpman or Miner 2049er, one seldom adds
similar games to one's collection.
Occasionally, an unusually imaginative presentation
of an erstwhile game model will be successful. This
results from either a strikingly innovative approach
to the design features or clever, inventive program-
ming techniques which enhance the original. Elec-
tronic Arts' One on One is an excellent example of
how masterful programming can successfully revive
an old idea.
It's difficult to be original with the objectives of ed-
ucational software, particularly in the area of mathe-
matics. The subject matter is pretty standard, and the
solutions are rarely creative. The appeal of most math
programs rests on their presentation and the ability
to initiate an interaction and sustain the interest of
the user.
Sparkling graphics should be accompanied by a
sound, objective approach to the learning process.
Market-conscious software producers may place greater
emphasis on the flash and less on the flesh, in order
to attract the buyer. In Texas, they call this "all hat
and no cattle. . .y'all." This month's hill of beans, if
it amounts to that, offers some resourceful means to
mastering mathematics.
MATH MAGIC
BLAKMAGIC SOFTWARE
3720 Broadmoor
Beaumont, TX 77707
48K Disk (BASIC) $29.95
The development of math skills requires a solid
foundation in arithmetic. This foundation results from
the memorization of countless number facts. ("Count-
less numbers". . . is that an oxymoron?)
Sure, there is proof that 6x5 = 30, but this fact—
and many others — must be rapidly accessed from mem-
ory for practical application. Flash card drills are fre-
quently used to augment this process. Although basi-
cally a video flash card game. Math Magic injects a
little incentive and fun into this usually tedious task.
From one to six players may participate in the com-
PAGE 10
ANALOG COMPUTING
ISSUE 29
petition. In addition to the four basic arithmetic oper-
ations, problems deahng with powers, roots, fractions
and decimals are included. A problem is presented
on the screen, and if the correct answer is entered,
100 points are scored, eliciting a cheer and a musical
salute from a venerable wizard.
An incorrect response occasions the appearance of
Reggie the Robot, who unceremoniously crushes the
numbers into rubble and kicks them off the screen,
with the loss of 50 points in the process. If no fur-
ther attempts are desired, pressing the Q key displays
the correct solution — with the loss of an additional
125 points.
-m ■
2:^
Math Magic.
The feature which distinguishes Math Magic from
other, similar offerings is the ability to handicap each
individual. With a handicapping scale from to 999,
elementary age children can successfully compete with
high school students and adults.
Also, one may select the largest number to be used
in the problems. This number will apply to the indi-
vidual with the lowest handicap, all others being ad-
justed accordingly. There is a limited range for the
different operations: addition and subtraction - 1 to
999,999; multiplication and division - 1 to 9,999; frac-
tions - 1 to 99; and powers and roots - to 9 for the
mantissa.
One has the option of using whole numbers or frac-
tions (or decimals) when working with the four basic
operations. A random option allows the computer to
choose the type of problem.
The problems can be displayed in a standard or
linear format. The answers are entered from the key-
board in a left-to-right fashion. No problem, if one
is multiplying 6x3. However, if the problem is 3264
x8964, the final answer of 29,258,496 must be en-
tered from left to right, requiring more than just a
little thought.
One does not perform the operation on the screen,
with the initial four products in the example given
being added together. This program is not designed
to promote process skills. Instead, it encourages an
individual to solve problems "in his or her head" (or
"heads". . .sorry about that, Zaphod).
Enjoyable music and graphic enhancements add the
right amount of frills to complete the package. The
support of fractions, decimals, powers and roots, and
the inclusion of the handicapping feature set this
product apart from similar programs. Math Magic is
a solid offering in the educational software market.
MATH MILEAGE
CBS SOFTWARE
A Unit of CBS Inc.
Greenwich, CT 06836
16K Cartridge Joystick $29.95
Math Mileage sounds like a program which teaches
the calculation of fuel efficiency. Wrong, STP-breath.
This is a game where up to four players wend their
way through a race course, using basic math skills in
addition and multiplication. Quick thinking is needed
to beat the competition.
As the game begins, a randomly selected goal (num-
ber) is displayed while the players are sitting at the
starting line, engines revving. Using a joystick, a for-
mula race car (I get it!) is driven along a course com-
posed of numerous forks. Over each branch of a fork,
a mathematical operation is displayed.
The object is to accumulate points at each cross-
road and, eventually, reach one's goal. Let's assume
there is a goal of 168. Approaching the first fork, one
sees the operation X 4 over one branch and + 8 over
the other. (Once each course is begun, the two oper-
ations stay the same.)
^D&ITION
1 JOEY
-50
369
+ 381
748?
HRONG JOEY
PRESS Q TO GIUE UP
Math Mileage.
Starting with points, the first choice is to go to
the +8 branch. Now the fun begins. One's goal will
always be reached no matter which branch is taken,
but the challenge is to do it by taking the fewest num-
ber of forks. It might seem the best course is to get
ISSUE 29
ANALOG COMPUTING
PAGE 11
as high a number as soon as possible, but that may
be deceiving.
In our example, if one were to take the X 4 branch
second, the total would be 32. If the x4 route is again
taken, a total of 128 is scored, and only by taking five
consecutive + 8 branches will the goal be reached.
However, if after totaling 32 points, the + 8 branch
is chosen (40 points), then the x-4 (160) and finally,
the + 8 branch (168), three fewer forks would be taken.
If it sounds complicated, the fault lies with my expla-
nation, not the game. Under my picture in the high
school yearbook, it says, "He has the ability to put
the minimum amount of thought into the maximum
amount of words." Enough said.
Three skill levels allow the user to increase the dif-
ficulty as desired. At level 1, players have the choice
between only two operations, + J and + 10. Although
little strategy is involved, this serves to emphasize the
understanding of place value.
Levels 2 and 3 offer the choice between one addi-
tion and one multiplication operation. Level 2 always
uses + 10 for the addition branch, while it is randomly
selected from between +2 and +9 in level 3. Both
levels randomly select the multiplication operation
from between x2 and x5.
Along the course flagmen appear, warning of "haz-
ardous road conditions." The different flag colors alert
one to whether either branch may be taken without
overshooting the goal (green), one of the two branches
will cause one to overshoot the goal (yellow), or if
one has already overshot the goal (red).
As each branch of a fork is taken, the car breaks
through a billboard showing the accumulated total
score to that point. A night driving option is avail-
able, doubling the point value, in which the billboards
don't show the total. In this case, the total must be
kept in one's head. . .or kidney. . .or chewing gum
wrapper.
At the end of the race, a scoring summary is dis-
played. This shows the number of forks taken and the
time used for the race just completed, the fewest num-
ber of forks that could be taken to reach the goal,
and previous race statistics for the course. Each race
must be run twice before a new one is attempted. This
reinforces the operations involved. A straightforward
game play manual and handy reference card provide
the necessary documentation.
I have reviewed several products from the CBS Soft-
ware line and found them to be of uniformly high qual-
ity. Polished graphics and well-founded educational
objectives are partly responsible. Most importantly,
their products are designed for children to play, and
for children to learn. They're not designed to make
adults, who spend the $$, think that they're educa-
tional.
Complicated, sophisticated, mind-expanding (and
boggling) educational software may overwhelm young
children. CBS Software knows kids. You have to crawl
before you walk. In this case. Math Mileage's race car
provides first-class transportation.
PLAYFUL PROFESSOR
SCREENPLAY
Intelligent Statements, Inc.
Box 3558
Chapel Hill, NC 27514
48K Disk or Cassette Joystick optional
If limited to just one educational program in my
collection, this would be it. I'm including all educa-
tional software, regardless of the subject matter.
Playful Professor is an exceptionally well-designed
math tutor which will help develop proficiency in the
four basic arithmetic operations. Unlike many math
programs, it not only provides practice of math facts,
it teaches them. (Read the previous sentence aloud,
using your best John Houseman imitation.) And, un-
like conventional tutorials, it's fun. All the necessary
math skills required through the first six grades of
school are encompassed in this program.
JJiJ_
6 h'h
THEH ADD OR SU&TRhCT
NUMER.HT0R3.
THEN REDUCE THE PRODUCT.
Playful Professor.
Playful Professor contains features which enable
two players to compete, each with the ability to select
his or her own operation and level of difficulty. For
each arithmetic operation, there are four skill levels
when dealing with whole numbers (integers) and three
levels of difficulty using fractions.
After the selection process is complete, the first
problem is displayed on the screen. When solving
questions using integers, the problem is worked out
on the screen in the same manner as one would with
paper and pencil. (Everyone, together now. . ."1 brought
my pencil. . .Gimme something to write on, man.")
As soon as the computer accepts as many numbers
as it "knows" it should get, it places a flashing ? at
the appropriate place for the next step. For example,
if presented with a multiplication example, each prod-
uct would be entered below the problem from right
to left. The number in the "ones" column is entered
PAGE 12
ANALOG COMPUTING
ISSUE 29
first, then the "tens" column, etc. When all of the
products have been entered, a line is drawn beneath
them, and the products are entered in the usual fash-
ion for the final answer. Problems involving fractions
require only the final result, the solution being arrived
at without the use of the display screen.
The tutorial portion of Playful Professor takes over
only if one fails to correctly solve the problem. Ideally,
if a student cannot solve a problem in the classroom,
the teacher will work it through with a step-by-step
explanation. In reality, many students are hesitant to
acknowledge their lack of understanding in front of
the entire class.
They just plod along, never fully comprehending
the material, putting themselves further and further
behind. As the years go by, they move on to more
complex problems, and the ability to perform the basic
math skills is taken for granted. Eventually, they be-
come overwhelmed and, after a period of "hanging
on," totally lose interest.
This is not an unusual scenario. More often than
not, this pattern goes unrecognized until it's too late.
Children learn very early that parents like to hear
only good things — particularly, busy parents. If a child
Don't be caught suprised at tax time. Know
exactly what your taxes will be all year long. EDU-TAX
is a menu driven program with extensive on screen
explanations. EDU-TAX includes these schedules
and forms:
Form 1040
Schedule A — Itemized Deductions
Schedule B — Interest/Dividends
Schedule C — Business Income
Schedule D — Capital Gains/Losses
Schedule E — Supplemental Income
Schedule G — Income Averaging
Schedule W— Marital Deductions
Form 2106 — Unreimbursed Employee Expense
Form 2119 — Sales of Residence
Form 4684 — Casualties and Theft Losses
EDU-TAX is currently 50% off the suggested retail
price of $50.00. EDU-TAX is now only $25.00 plus
$2.00 for shipping and handling. Direct only.
EDU-TAX
P.O. Box 16785
San Antonio, TX 78216
CHECK
OR
MONEY
ORDER
Texas Residents add 5%.
Commodore 64-Disk — Atari 48K-Disk
CIRCLE #109 ON READER SERVICE CARD
admits to having difficulty in school, parents are not
only disappointed, but usually respond with a haran-
gue about lack of study, too much TV or some other
extraneous reason, not recognizing that the problem
goes much deeper.
All the study time in the world won't help if the
child doesn't have a grasp of the fundamentals. Con-
cerned parents may be able to help their children by
working with them at home. However, most parents
aren't teachers, and the frustration of trying to teach
what "comes naturally" ends up in a shouting match.
Outside tutors are fine but expensive. Of course,
one solution is to assume the child is incapable of
functioning above the level of the brain stem, and
just give up. . .in which case, he will either become
a urologist or a Republican member of the Senate.
(The use of the masculine gender in the preceding
sentence was intentional. Only rarely does the female
of our species sink to such depths.) But I digress.
Using a computer-generated chalk and blackboard,
the Professor illustrates the correct solution to the
problems which have been missed. In the beginning
levels, jelly beans are used to demonstrate the under-
lying principles. The essential rules governing each
operation are also displayed. This promotes an under-
standing of the material, not just memorization.
A simple, common sense approach is used. It's also
nonjudgmental. If the child makes the same mistake
again, the computer doesn't say, "I just showed you
how to do that. Weren't you listening?"
The section on fractions is particularly well done,
and a little time spent here with the Professor will
go a long way toward mastery of this frequently for-
midable foe. It's not surprising that many children have
difficulty with fractions, especially after parents try
to explain them. The only LCD dad knows about is
in his watch. Mom thinks LCD is some kind of hal-
lucinogen, but she never listens very carefully, anyway.
That's the beef. Where's the relish? Well, it's inside
a haunted castle. The player is trapped inside this
spooky citadel and must steal the key from a resident
ghost to escape. Able to enter only lighted rooms, the
ghost must be stalked from room to room.
With each move, a mysterious wind blows through
the castle, turning various lights on and off. The player
is awarded two moves for each correct answer, or a
single move in the case effraction problems answered
correctly but not reduced to the lowest terms. Though
simple, the game is enjoyable and exciting, especial-
ly when two players vie to exit the castle first.
An extremely thorough manual with an extensive
and coherent mathematics review is included. Sure
to maintain the interest of children, this program is
a "keeper." Kids, don't be surprised if dad and mom
get caught brushing up on their "Rithmetic," as well.
This is the first in a series of educational games from
Screenplay. If the others are as good as Playful Profes-
sor, keep 'em coming. D
ISSUE 29
ANALOG COMPUTING
PAGE 13
Ask
Mr.
Forth
by Donald Forbes
A short list or array of numbers can make an inter-
esting game, as well as an instructive FORTH demo.
Many of us met FORTH arrays for the first time
on page 196 of Leo Brodie's first book, Starting Forth,
in which he has a lab with five burners to heat vari-
ous kinds of liquids. Here, "we can make our word
?TOO'HOT check that all five burners have not ex-
ceeded their individual limit."
He defines the five limits with:
8 VARIABLE LIHITS 8 ALLOT
which sets up five slots for the array, and then stores
a number in the first one with:
220 LIMITS !
and the second one with:
348 LIMITS 2 + !
and then defines a new word:
: LIMIT 2« LIMITS + ;
to take the burner number off the stack and store a
limiting temperature for the third burner with:
178 2 LIMIT !
Brodie then defines a new word:
: 7T00.H0T f burnertt tewp — J
LIMIT e > IF
." Danger - reduce heat ■■ THEM ;
which works like this:
388 1 ?TOO.HOT Ok
358 1 ?TOO.HOT
Danger - reduce heat
ok
Kevin McCabe, the Chicago lawyer who wrote Forth
Fundamentals (the most complete explanation to date
of fig-FORTH), also shows (page 119) how to set up
an array with four locations with:
12 VARIABLE GROUP
24 , 48 , 96 ,
and an auxiliary word:
: GETGROUP 2* GROUP * G ;
that will retrieve any member of the array with:
8 GETGROUP
3 GETGROUP
12 Ok
96 Ok
In both cases, the count starts at zero and there is
no checking for errors.
"As an exercise in array manipulation," M.P. Burton
composed a public domain FORTH version of the
number game Reverse, which was published in Forth
Dimensions magazine for January 1982 . The object of
the game is to arrange a list of numbers (1 through
9) in ascending order from left to right. Moves are
made by reversing a subset of the list (from the left).
The original game was written in BASIC almost ten
years ago by Peter Sessions of People's Computer Com-
pany, a nonprofit educational corporation in San Ra-
mon, California.
PAGE 14
ANALOG COMPUTING
ISSUE 29
Our first screen spells out the object of the game.
SCR tt 1
: OBJECT ." The object of the "
." gane is" CR ." to arrange a"
." randoH list" CR ." of nine"
." nunbers into ascend-" CR
." ing nuHerical order in" CR
." as few HDves as possible" CR
." by reversing a subset of "
CR ." the list. For exanple, "
CR ." given the randoH list, "
CR." 524873916"
CR ." reversing a subset of 4 "
CR ." would yield the list, "
CR." 842573916"
CR ." To finish the gane, "
CR ." siMply reverse " ; ;5
We also need a flag to tell whether the player wants
to continue. The handy word Y/N (which can be used
in many games) asks for an input string from the con-
sole, which is stored in PAD, the location of the first
byte of the scratchpad area that moves upward as the
dictionary expands. An upper case or lower case Y
returns a true flag.
: v/H c c ~ flag J
PAD 88 EXPECT PAD CC CR CR
95 AHD 89 = ;
Now we can ask the player at the beginning whe-
ther he wants instructions for the game, and at the
PARTS/SERVICE FOR ATARI* COMPUTERS
ORIGINAL FACTORY PARTS
UPGRADE TO GTIA. 48K AND REV. B OPERATING SYSTEM
CUSTOM 810 DISK DRIVES. . .$215,00
INTEGRATED
CIRCUITS
GTIA Chip, . ,0014805
upgrade with instructions $11,50
10K Rev, B OS Upgrade. . ,for 400/800
3-Chip ROM set with instructions, , , ,$12,50
Pokey Chip. . ,0012294 $8.50
Antic Chip . . .C01229S $10.50
PiA Chip . . .C014795 $11.00
Basic ROM set $15.00
CPU Chip. . COMBOS $12.50
MODULES/CIRCUIT
BOARDS. . .complete with IC's
16K RAM Memory Module, . ,
CX853 $24.50
800 10K Rev. B OS Module $18.50
800/400 CPU Board with GTIA $24.50
800 Main Board $28.50
400 Main Board $26.50
400 Main Board w/o ICs $8.50
800 Power Supply Board $10.50
810 Data Separator Board. . .
upgrade with instructions $25.00
810 Side Board w/o Sep. & 1771 $43.50
810 Rear Power Board $25.00
810 Analog Board $16.00
REPLACEMENT/
BACKUP
BOARD SETS.
800... OK $72.50
e00...48K $122.50
400... OK $52.50
810 Board Set $110.00
All Boards complete with iCs, etc.
Keyboards not included.
MISC.
810 Rear Board/Analog Board Upgrade. . .
with 10-pin jumper
and instructions $39.50
Editor Assembler $25.00
BASIC Cartridge. . .
w/o Case, Manual $23.50
Cartridge Circuit Boards $3.50
Non-Atari" Cartridge Boards $1.50
Replacement 810 Drive Mech $85.00
Replacement Power Transformer . . . .$16.50
SAMS Service Manual
for 800 or 400 $1750 ea.
AMERICAN TV
415-352-3787
Mail Order Address 15338 Inverness St., San Leandro, CA 94579
Retail Store 1988 Washington Avenue, San LeancJro, CA 94577
Terms: We accept money orders, personal checks or C.O.D.s. . .VISA, MasterCard okay on orders
over S25.00, No personal checks on C.O.D.
Shipping: $4.00 shipping and handling on orders under $150.00. Add $2.00 tor C.O.D. orders. Cali-
fornia residents include 6V2% sales tax. Overseas shipping extra.
Prices subject to change without notice. We reserve the right to limit quantities. Sales limited to
stock on hand. AK, HI FPO-APO. add $5.00 on all orders.
Much more/ Send SASE lor tree price list.
Repair/upgrade services available. . .Call. "Atari is a registered trademark of Atari Corp.
CIRCLE #110 ON READER SERVICE CARD
end, whether he wants to play again. This code in-
vokes the word OBJECT, if requested:
: INSTRUCTIONS CR CR 10 SPACES
." The gaHe of REVERSE"
CR CR
." Mould you like"
." instructions?"
V/N IF OBJECT THEN ;
Our first task will be to set up a ten-number array,
and then initialize it with the numbers ] to 9 (ele-
ment will not be used). We can reserve an integer
word array with:
: DIM C n --J
<BUILDS
Creserve an integer word array)
1+ 2 * ALLOT
DOES> ;
Defining words in FORTH execute by compiling
new word definitions into the dictionary. Two exam-
ples are CONSTANT and VARIABLE, which will
store named single-precision numeric values. The far
more powerful defining word ; (pronounced colon) per-
mits compilation into the dictionary of word defini-
tions using a "building block" approach. The word
: (colon) uses ; (semicolon) as a terminating word.
Later execution of a colon-defined word is equivalent
to the execution of each of its building blocks.
If you ever wondered about the choice of : and ;
as FORTH words, this is the reason . . .When Charles
Moore developed FORTH, he started out with:
DEFINE: Nane soHething sonething END;
but found it tiresome to keep typing DEFINE: and
END; each time, so he shortened them to save him-
self (and us!) many keystrokes.
FORTH also allows you to create new high-level
defining words. Such words may then be executed to
create new classes of words, like numeric arrays or
double-precision variables and constants. You will find
a discussion of user-defining words in chapter eleven
of Leo Brodie's Starting Forth. Remember, however,
that he uses the series CREATE . . . DOES > . In fig-
FORTH, this should be < BUILDS. . .DOES>.
The word DIM, which we just created, is such a
word. It's a defining word in the form n DIM xxxx,
which looks for a number on the stack, and then pro-
duces an n+I-length word array named xxxx, which
we can then fill with elements through n. We do
this with:
9 DIM ARRAY
which reserves a ten-word array.
Now we need a word to store numbers in the array,
which we can do with:
: A! C store an array elenent 3
c array-value index — J
2 * ARRAY + ! ;
We can then use a DO . . . LOOP to initialize our
array with the numbers J to 9, in order:
: AINIT f initialize the array)
10 1 DO I DUP A! LOOP ;
ISSUE 29
ANALOG COMPUTING
PAGE 15
Just as we needed a word to store numbers in the
array, we'll need words to fetch the array elements and
to place them on the data stack — and, also, to print
them. The fetch word, which looks like the store word
is:
AC C fetch an array elenent J
2 * ARRAY + e ;
and the print word becomes:
A.
C
print
the
array J
CR
1
■ The 1
ist
is
now.
CR
6
5PACE5
10
1
DO
I AG
3 .R
LOOP
»
To start the game, we must present the player with
a scrambled list of numbers. Since the game was writ-
ten in FORTH as an exercise in array manipulation,
we are right in supposing that this code will be the
heart of the game. Most games require a random nam-
ber generator, and this one is no exception.
VARIABLE SEED
: RND ( randoH nuMber generator)
C range — rndSt >
5EED e 259 » 3 + 32767 AND
DUP SEED ! 32767 »/ ;
This is a pseudorandom number generator (there is
a difference, as we'll see), courtesy oi Forth Dimensions.
RND generates a number in the range through —1
and is used to scramble the number list.
: A5CRAH8LE C Mix UP array values}
1 9 DO
I RND 1+
I
OVER
I
AC
AC
A!
SNAP A !
-1 +LOOP
calculate K 3
get ARRAY CI) value)
get ARRAY CK) value)
store ARRAY fK) )
in ARRAY CI) )
store ARRAY CI) )
in ARRAY CK) )
The code, as you see, counts down the array from
9 to 1 (0 is ignored) and uses RND to calculate a val-
ue K, with which to swap each of the numbers into
a different slot.
Since the object of the game is to get the numbers
in the right order (in effect, to neutralize or unscram-
ble the results of ASCRAMBLE), we need a word
which will check that ARRAY has been placed in
the proper numerical order and, if so, will return a
true flag.
: ACHECK C ascending sequence? )
C — flag )
1 10 1 DO
I DUP AC = AND
LOOP ;
This routine puts a 1 (or true flag) on the stack,
which remains true (1 AND 1 equals 1) as long as
each comparison is true, but switches to false (0 AND
1 equals 0) if any one fails.
Because Reverse is an interactive game, we need
a way to get input from the player. We must solicit
the number of elements in the list that he wants to
reverse (which reminds me of page 1 of IBM's tutori-
al manual on their computer SYSTEM/38: "This man-
ual follows the convention that HE refers to HE or
SHE"). The code features a continuous loop, so that,
if the player enters any character other than through
9, the program issues an error message and loops back
to ask for another number.
: GETIN C get aHOunt to reverse )
c — n )
BEGIN CR
." Reverse how Many? "
PAD 80 EXPECT PAD C 48 -
DUP 0< OVER ? > OR DUP
IF CR . ..
." Only thru 9 allowed. "
THEN 8= UNTIL CR ;
You might notice that the ATASCII code for a
is decimal 48, and for a 9 is decimal 57, so that we
must subtract 48 from the ATASCII code to get the
number we want.
The other crucial part of the game (and the other
exercise in array manipulation) is a routine to reverse
a leftmost subset of the array, starting with element
number 1. The code is similar to ASCRAMBLE, ex-
cept that it rearranges a part of the array, instead of
the complete array from 1 to 9.
: AREVERSE c reverse a subset)
DUP 2 /
1+ 1
DO DUP
1-1+
DUP AC
SNAP
I AC
SNAP
A!
I
A!
LOOP
c n ~ )
c loop liHits are )
c 1 to i:n/23HH )
C calculate index )
c n-l+l )
get
get
store
in
store
in
ARRAY [n-I+lD
ARRAYED )
ARRAYED )
ARRAY In-I+13)
ARRAY ln-I+13)
ARRAYED )
DROP
We need two more pieces of the puzzle, then we're
ready to put the game together. There is a variable:
VARIABLE MOVES
which keeps track of the number of reverses so far.
We also need a keypress to start up the random num-
ber generator, as follows:
* SKEY CR
." Please depress any key:"
KEY SEED ! J
Now we're ready for the game definition, which uses
all the previously defined words, mostly in the order
in which we defined them.
: REVERSE c play the gaMe )
125 EMIT SKEY
INSTRUCTIONS AINIT
BEGIN
ASCRAMBLE MOVES !
BEGIN
A. GETIN DUP 0=
IF 1 ELSE
AREVERSE 1 MOVES +!
ACHECK
THEN
UNTIL
A. CR ." You Made " MOVES C .
." reversals." CR CR
." Care to play again? "
Y/N 0=
UNTIL
CR ." Thanks for playing "
." REVERSE. . ." CR CR ; ;5
PAGE 16
ANALOG COMPUTING
ISSUE 29
And there we have it. The code will fit in seven
or eight screens without crowding. You can end each
screen with a ;S (semi-S or stop), a fig-FORTH run-
time procedure that's available for separate use, if need-
ed (FORTH- 79 doesn't specify names for its run-time
procedures, which are assumed to be inaccessible to
the user). You can then load screens one at a time.
If everything loads correctly, you can use a final screen
(for example, screen 9) as a LOAD screen (] LOAD
2 LOAD 3 LOAD 4 LOAD. . . ;S), so that 9 LOAD
will load the entire game.
How do you play the game to beat a competitor?
Mostly by trial and error. There are three different
strategies. According to Peter Sessions, there is the
algorithmic approach and the heuristic approach. The
first is to adopt the strategy of a computer program:
move the 9 to the right, then the 8, etc. With two
reversals for each of the nine numbers, that should
never take more than eighteen moves. Burton's only
comment about the game is: "If more than fifteen
moves are made to win, you haven't got the hang of
the game."
The second approach is by rule of thumb, seeking
to take advantage of partial orderings in the list. This
is the way most people play.
The third way, of course, is to "cheat." This isn't
meant to advocate dishonesty, but merely to make sure
ahead of time that, if one plays a game, one is famil-
iar with the rules and plays by them.
The rules aren't always what they seem. There's a
story about Alan Mathison Turing (Ph.D., Prince-
ton, 1939), the eccentric British mathematician, who
worked as Britain's chief cryptographer and managed
to crack the German cypher code during World War
II, by building one of the earliest computers (the Ger-
mans didn't find out until thirty years later).
He wanted to become proficient with a rifle, so he
enrolled in the wartime Home Guard. The form read:
"Do you understand you place yourself liable to mili-
tary law?" Turing, characteristically, answered no in-
stead of yes. Once he became an excellent shot, he
stopped attending parades. When the apoplectic col-
onel called him to task, Turing said, "I am not a sol-
dier. . .look at my form." He had been improperly
enrolled. It was typical of Turing at all times to look
for the optimal strategy. His life story in the new book
by Andres Hodges, Alan Turing: The Enigma, reads
like a classic Greek tragedy. Although he did more
than any one man to win the war for Britain, he died
unrecognized (a suicide) in 1954, at age 41.
Notice that, in this game. Burton uses a pseudo-
random number generator. These come in two flavors
— those that repeat and those that don't. The repeat-
ing ones are the most useful in scientific experiments.
If you're running a computer simulation of, say, a gro-
cery store, to find out how many shopping carts you
need, and use random numbers to model the times
between customers' arrivals, you want to be able to
repeat the experiment for three, four and five check-
out counters using exactly the same numbers.
This game asks a keypress to seed the random num-
ber generator. Most people, out of laziness, hit the
SPACE BAR. The game will then keep churning out
the same sequence of scrambled numbers each time
it is called. Someone who took the trouble to work
out the answers ahead of time would have a signifi-
cant advantage.
Of course, the number of possible lists is a large
number. For example, the 9 can appear in any of nine
slots, then the 8 in any of the remaining slots, and
so on. The answer is 9 times 8 times 7 ■ . .times 1, or
9 factorial (9!). You can work it out for yourself with
a program something like this:
: FACTORIAL 1+11 ROT ROT
DO I » LOOP ;
which gives us:
7 FACTORIAL 5040 OK
In this particular instance, however, we need some
double-precision words:
: 2SIIAP >R ROT ROT R> ROT ROT ;
: PICK 2* SPC + e ;
: ROLL DUP 1= IF DROP EL5E DUP
1 DO 5MAP R> R> ROT >R >R >R
LOOP 1 DO R> R> R> ROT ROT
>R >R SNAP LOOP THEN ;
: 5->D DUP e< HINU5 ;
: 26 DUP 2+ 5HAP G ;
: 2! SNAP OVER i 2* I I
: D* OVER 5 PICK U« 6 ROLL
4 ROLL » + 25MAP * * ;
The new factorial program becomes:
: 2VARIABLE
<BUILD5 4 ALLOT DOES> ;
1. 2VARIABLE PRODUCT
: 2FACT0RIAL 1. PRODUCT 2! 1 +
1 1 ROT ROT DO PRODUCT 26
I 5->D D* PRODUCT 2! LOOP
CR PRODUCT 26 D. ;
which will then give us:
3 2FACT0RIAL 362880 OK
Poker players always ask for a new deck in the origi-
nal wrapping, then look for markings on the backs
by flipping the deck and riffling through the cards.
We could accomplish something similar by swapping
random number generators, of which there are several
we can. choose from.
This one appears on page 265 of Brodies book:
1 VARIABLE RND HERE RND !
: RANDOH RND 6 31421 « 6927
+ DUP RND ! ;
: CHOOSE C Ul - U2 J
RANDOH U* 5MAP DROP ;
Alan Winfield's The Complete Forth, on page 113,
has:
e VARIABLE RND 1234 RND ■
: RANDOM RND 6 1621 * *X *
DUP RND ! ;
which places a new random number on the stack and
which, he warns, repeats itself every 65535 numbers,
(continued on page 18)
AND NOW ASTRA HAS THREE
MODELS FOR YOUR ATARI
ASTRA 1620
Our original single or double density dual disc drive.
Two drives, for the price of one.
(360 KBYTES)
ASTRA 2001
All of the features
of the 1620, but
with improved
circuitry, rotary
doors, and direct
drive motors.
(360 KBYTES)
ASTRA 'BIG D"
Double sided, single or double density,
dual disk drive.
(720 KBYTES)
ALL DRIVES FURNISHED WITH
SMARTDOS OR MYDOS *
*DOUBLE SIDED DRIVES
FOR NEAREST DEALER OR DISTRIBUTOR
CALL (714) 549-2141
>8^
flSTRfl SVST6MS
2500 South Fairview
• unit L • Santa Ana, Ca. 92704
CIRCLE #111 ON READER SERVICE CARD
PAGE 18
ANALOG COMPUTING
ISSUE 29
$99.95
$79.95
$15.95
$30.00
$45.00
$45.00
$69.95
$29.95
but has the
f \
ATARI UPGRADES
FROM NEWELL INDUSTRIES
FASTCHIP - ATARI 400/800 was $41.95 - Only $1 9.95
A custom floating point ROM that increases the speed of the computer
by as much as four times. It is directly pin compatible with the existing
ROM.
RAMROD - ATARI 800 was $189.95 - Only $1 29.95
FEATURES:
OSN operating system in EPROM, graphics modes 0-15, program-
mable cassette baud rates, enhanced keyboard, cartridge control on
power up, up to two operating systems on board, will accept standard
roms.
OMNIMON machine language nnonltor.
Up to 1 6K of ROM for use at COOO.
Up to 4K of RAM for use at COOO.
RAMR0D2 W/O OMNIMON
RAMRODS W/O OMNIMON AND OSN
4K RAM (2716 compatible for use In RAMROD)
4K OMNIVIEW ENHANCEMENT (80 COL)
8KOMNIVIEW ENHANCEMENT (OMNIMON &
OMNIVIEW)
8K OMNIMON ENHANCEMENT
8K OMNIDOS (RAMDOS & OMNIVIEW)
MYDOS 3.x DISK OPERATING SYSTEM
This disk operating system is compatible with 2.0S,
serious user in mind. Supports all 5 1/4 & 8 inch drives. Single &
double sided & density, 35, 40, 77, 80 tracks. Allows keyboard con-
figuration of all drives. Duplicate with or without format, all or specified
sectors. Initialize disk with or without format. Unlimited file names.
Many more features. Uses less memory than 2.0S. This is a must for
anyone with third party drives.
ROMDOS 800 (For use in RAMROD or Equiv.) $39.95
All the features of MYDOS in ROM. Gives you approx. 4K of extra
RAM.
SBM (Small Business Management) $99.95
This system was developed to give the small business or retail store
the tools to computerize their operations. SBM is an inventory control
and point of sale program that also has other features such as mailing
labels for accounts, purchase orders, Invoicing, and many more. Prints
invoices, purchase orders, inventory, sales, account reports and
more.
CAPACITIES
12 digit alpha-numeric part numbers (unlimited parts)
Up to 1 500 accounts
As many vendors as parts
Reports
Inventory- All, by vendor name, by product group, price list, at, or below
reorder point, turn report. Inventory data Includes part number,
description, product group, quantity on hand, cost, sale price, quantity
on order, location, and much more.
Sales- Daily, period, annual
Accounts- All, outstanding or selected
MAIL LABELS
All, outstanding, or selected accounts
SYSTEM REQUIREMENTS
ATARI computer (40K RAM minimum)
Basic XL
Two disk drives (system will support 5 1/4" 40,80,160 track & 8"
drives)
Printer
RAMROD XL -for 800 XL $119.95
Allows the use of three different operating systems. Comes with
OSNXL operating system (solves most incompatibility problems),
FASTCHIP floating point routines, and OMNIMONXL in ROM.
OMNIVIEWXL - (for RAMROD XL) $59.95
Now get 80 columns with your 800XL. Compatible with UK products,
BASIC, ATR 8000 In CPM, etc. Enter 80 column mode easily, just
press console keys.
Prices subject to change without notice. ATARI 400/800/1200 are
trademarks of ATARI INC.
TO ORDER: Send check or M.O. or call 214/423-1 781. COD orders
add $1 .90. Orders under $25.00 add $2.00 shipping. Contact your nearest
dealer or Newell Industries, 3340 Nottingham Ln., Piano, TX. 75074.
(NO COLLECT CALLS)
CIRCLE #112 ON READER SERVICE CARD
(continued from page 16)
"but that should be no problem here!" The follow-
ing variation appears on page 65 of Forth Tools by An-
derson and Tracy:
e UARIABLE SEED 1234 SEED !
: RAND C -- n >
SEED e 5421 » 1+
DUP SEED ! ;
: RANDOM (ft — randoH nuHber 3
RAND SNAP HOD ;
The Atari hardware generates a true random num-
ber at location 53770, which you can use like this:
: RNDtt 53778 CG SNAP /MOD DROP ;
or in the more elaborate version that appears on page
41 of Ekkehard Floegel's book, Forth for the Atari:
VARIABLE RND 53770 C RND *
: RANDOM RND C 31421 * 6972
* DUP RND ! ;
: RNDtt C nl ~ n2 )
RANDOH ll« SMAP DROP ;
You can sum it up for your audience this way. . . Play
Reverse. Have fun! Check the keyboard and pick a
key at random, instead of the SPACE BAR. Don't
be lazy! □
WANT
TO
SUBSCRIBE?
It's worth it.
CALL TOLL FREE
1-800-345-8112
In Pennsylvania
1-800-662-2444
ISSUE 29
ANALOG COMPUTING
PAGE 19
16K Cassette or Disk, 2.0S DOS
by Angelo Giambra
Like humans, computers sometimes become senile.
That is, they lose their ability to remember things ac-
curately. This happens when the random access mem-
ory (RAM) becomes faulty. The symptoms can range
from programs merely producing strange, unpredic-
table results to total system lockup.
How can you tell if all the RAM in your system
is good? 1 haven't seen any programs on the market
which will give it a thorough workout. Well, now
there's RAMCHECK.
If you have a disk system, key in the program in
Listing 1 and SAVE it to disk. If you use a cassette
recorder, key in Listing 2 and SAVE it to cassette.
When you RUN the program, the DATA statements
will be checked for accuracy. If you're a disk user, read
the next paragraph. Otherwise, skip ahead to the para-
graph for cassette users.
Disk users.
If there are no errors, a machine language file called
RAMCHECK will be created on your disk. Here's
how to use it.
A memory test
==^= for youF
Atari compute^
Remove any cartridges and boot your system from
disk. Now load RAMCHECK into memory If you
are using Atari 2. OS DOS, use the L option. If you
have DOSXL, key in LOAD RAMCHECK. Skip
the next paragraph and read on.
Cassette users.
If there are no errors, the RAMCHECK program
will be POKEd into memory and executed immedi-
ately Since this version executes with the BASIC car-
tridge present, the upper 8K of RAM cannot be tested
on a 48K system, because BASIC occupies these ad-
dresses.
How it works.
Your screen will begin to cycle through various
colors as RAMCHECK starts at low memory and
works its way up to high memory, checking every ad-
dress for data integrity. At each memory location,
RAMCHECK stores, then reads all the values from
to 255. If the value read matches the value stored,
the test continues; otherwise RAMCHECK clears
the screen and prints:
PAGE 20
ANALOG COMPUTING
ISSUE 29
RAN ERROR AT ADDRESS <address>
If there are no errors, RAMCHECK jumps to the
system warmstart routine, and you are returned to
DOS or BASIC.
RAMCHECK performs a non-destructive test of
memory. That is, after each memory address has been
checked, the contents of that address are restored to
their original value.
Interestingly, RAMCHECK must check the very
memory addresses where it resides — while running.
When testing reaches this section, RAMCHECK
moves itself into lower memory, where testing has been
completed, and proceeds.
Go to it!
As RAMCHECK runs, you can get an idea of the
incredible speed of machine language programs. Con-
sider this: on a 48K machine, 12,582,656 separate tests
are performed (256 tests per memory address). As you
watch the screen, colors will vary in luminance from
dark to bright. Each time the luminance changes, it
means 512 memory bytes have been tested. Each time
the hue changes, 4K of memory has been tested. BA-
SIC would take hours to do this test.
RAMCHECK will determine the size of your mem-
ory when it loads, by checking the RAMTOP register.
That's why disk users must remove any cartridges. On
a 48K system, the OS points the RAMTOP register
to just below the starting address of any cartridges
resident.
1 hope your system never suffers from senility, but
if it does, RAMCHECK will diagnose the problem
right away! D
Listing 1.
10 REM KMKICKKKKKKMKKM
20 REN * RAMCHECK *
38 REM » by »
40 REM * A. Gianbra »
50 REN KMKKKKMKKICKMKM
66 DATA 8,1,2,3,4,5,6,7,8,9,0,0,0,0,0,
8,0,10,11,12,13,14,15
70 DIN DATS 06J, HEM 122} : FOR X=8 TO 22:
READ N : HEX CX)=N: NEXT X :LINE=190 :RESTOR
E 20e:TRAP 150:? "HCHECKIMG DATA"
80 T0TAL=8:LIHE=LIHE+10: POSITION 2,2:?
"LIME:"; LINE: READ DATS: IF LENCDATSJO
96 THEN 188
90 DATLIN=PEEKC183}+PEEKC184J»256:IF D
ATLINOLINE THEN ? "LINE ";LIHE;" N1S5
ING!":END
100 FOR X=l TO LENCDATS3-1 STEP 2 : D1=A
SC tDATS tX) 3 -48 : D2=ASC CDATS tX+13 J -48 : BY
TE=HEX {D1}«16+HEX CD23
110 IF PASS=2 THEN PUT ttl, BYTE : NEXT X:
READ CHKSUN:GOTO SO
128 T0TAL=T0TAL+HEXCD1J+HEXCD23 :NEXT X
138 READ CHKSUN:IF TOTAL=CHKSUH THEN 8
8
148 G8T0 180
150 IF PEEKC195J06 AND PEEKC195)<>5 T
HEN 188
160 IF PASS=0 THEN OPEN ttl,8, 0, "D: RAMC
HECK" : PASS=2 : LINE=19e : RESTORE 200 : TRAP
170:? "HCREATING FILE": GOTO 80
170 CLOSE ttl: END
188 IF LEN(DATS}=78 AND LINE=258 THEN
TRAP 160: GOTO 90
190 ? "BAD DATA: LINE ";LINE:END
200 DATA FFFF0e387D3078A988AA9De8D09D8
eD29D00D39D00D4E8DeF1858e8581A002A5018
DlADeB10e48A980189188D188F8e5 , 536
218 DATA 84CD4C88066901DQF1689ie8C8D0E
5E601A501C930D0D8A98085CBA92C85CCA9198
5CDA93885CEA828B1CD91CB8818F9 , 659
220 DATA A025A56A91CBC8C8C8A94C91CBC8A
97491CBC8A9E491CBA888A90e85e0A93e85814
C882C88e68886689100 A91685eCA9 , 612
238 DATA e6858DA917858AA986858B2874E46
018A5CD650e85D49882E601A50185D528AAD92
8E6D8A98485CBA986S5CCA8e8BlF3 , 593
248 DATA 380591CBC818F7297F91CBA208A90
B8D4283A9698D4403A9068D4583A9288D4883A
9e08D4903A9018DF8822056E44C66,576
250 DATA 069B9B9B9B9B7FD2C1CDA0C5D2D2C
FD2A8ClD4A0ClC4C4D2C5D3D3202028282e20E
802Eie2e838,487
CHECKSUM DATA.
(see page 32)
10 DATA 272,674,323,72,288,965,282,364
,735,912,694,97,438,719,585,7332
168 DATA 596,134,793,174,577,892,766,6
64,613,834,6843
BASIC listing.
10 REN mCKKMKlCKKKKMKll
20 REN » RAMCHECK *
30 REM * CCASSETTEJ *
40 REM * BY »
50 REM * A. GIANBRA «
60 REM KKKKKKKKICICKKKK
70 POKE 559,0:1=1536
88 READ A: IF A=-l THEN 118
98 POKE I,A:I=I+l:CHK=CHK+A
100 GOTO 88
118 1=12288
128 READ a: IF A=-l THEN 150
130 POKE I,A:I=I+l:CHK=CHK+A
140 GOTO 120
150 READ A: IF AOCHK THEN POKE 559,34:
? "ERROR IN DATA STATEMENTS" : END
168 X=USR(12288J
178 DATA 184,145,0,169,23,133,12,169,6
,133,13,169,23,133,10,169,6,133,11,32,
116,228,96,24
188 DATA 165,285,101,0,133,212,144,2,2
30,1,165,1,133,213,32,170,217,32,230,2
16,169,132,133,203
190 DATA 169,6,133,204,160,0,177,243,4
8,5,145,283,288,16,247,41,127,145,283,
162,0,169,11,141
200 DATA 66,3,169,105,141,68,3,169,6,1
41,69,3,169,32,141,72,3,169,8,141,73,3
,169,1
218 DATA 141,248,2,32,86,228,76,102,6,
155,155,155,155,155,127,210,193,205,16
0,197,218,218,207,210
228 DATA 160,193,212,160,193,196,196,2
10,197,211,211,32,32,32,32,32,32,-1
230 DATA 120,169,0,170,157,8,288,157,0
,210,157,8,211,157,8,212,232,288,241,1
33,8,133,1,160
240 DATA 2,165,1,141,26,208,177,8,72,1
69,8,24,145,8,289,8,248,5,132,285,76,8
,6,105
250 DATA 1,208,241,184,145,8,288,280,2
29,238,1,165,1,281,48,288,216,169,8,13
3,283,169,44,133
268 DATA 284,169,25,133,285,169,48,133
,286,168,48,177,285,145,283,136,16,249
,168,37,165,186,145,203
278 DATA 288,288,288,169,76,145,283,28
8,169,116,145,283,288,169,228,145,283,
ISSUE 29
ANALOG COMPUTING
PAGE 21
168,8,165,8,133,6,169
288 DATA 48,133,1,76,8,44,-1
298 DATA 31859
CHECKSUM DATA.
(see page 32)
18 DATA 272,674,797,197,698,282,458,16
6,577,494,378,432,938,781,3,7835
168 DATA 346,122,763,484,678,137,734,2
43,683,364,192,98,381,784,5849
LDA
« <WARMBTART
STA
(IX), Y ITARGET OF JMP
1 IS WARMSTART
LDA
« >WARI1START
STA
<IX) ,Y IHODIFY THE CODE
LDY
»0
LDA
»»00 INDM POINT LINZBS
ETA
LiNZBs )To tAeee
LDA <tHEX3e
STA LINZBS + I I AND CONTINUE
JMP »2Ca0 ITHE TEST
*- *ebee
Assembly listing.
»«-«««***tt**ti»»
1 »
*
1 • RAMCHECK *
1 »
by
•
1 • A.
siAmbra ♦
; *
«
1 •*«**«••***•«*
1 OS EQUATES
RAHTOP
*iiA
ITOP OF MEMORY
DOSVEC
*0A
IDOS MENU VECTOR
DQSINI
%ec
IDOE INITIALIZATION
CRSINH
»e2FI9
1 INHIBIT CURSOR
PUTB
«0B
IPUT CHARACTERS
jgesr
• 0342
|g§F^^g ggSS^gi
»034'»
ICBLL
• 034a
1 BUFFER LENGTH
CIOV
• E456
lOS I/O ROUTINE
GTIA
• 0000
IVIDEO CHIP
POKEY
• DZ00
II/O CHIP
PIA
• D3e0
1 PORTS
ANTIC
• D400
1 SCREEN DISPLAY
COLBAK
• D01A
IBACKBROUND COLOR
LINZBS
• 00
WARMSTART -
• E474
FRO
«
»D4
IFP REGISTER
IFP
m
• D9AA
I INTEGER TO FP
FPA
>
• OBEA
IFP TO ASCII
INBUFF
»
»F3
IFP REGISTER
1 WORK
EQUATES
HEX30
_
•30
HEX2CaB
m
•2C0e
IX
m
• CB
IWORK INDEX
IXl
B
• CD
IWDRK INDEX
JUMP
a
• AC
IMACHINE CODE JMP
CR
n
• 9B
I CARRIAGE RETURN
TAB
>
• 7F
I SCREEN TAB
SP
«
• 20
I SPACE
»»
• 3000
BEGIN
SEI
I DISABLE INTERRUPTS
LDA
»0
TAX
CLRCHP
STA
GTIA, X
1 CLEAR THE CHIPS
STA
POKE^.X
STA
PIA.X
STA
antIc.x
INX
BNE
CLRCHP
STA
LINZBS
1 1ST MEMORY BYTE
STA
LINZBS+1
LDY
*2
I START AT 3RD BYTE
LOOPER
LDA
LINZBS+1 IGET PAGE NUMBER
STA
COLBAK
1 STORE IN COLOR
AGAIN
LDA
(LINZBS
,Y
PHA
isAVE THE CONTENTS
LDA
«0
CLC
Lonpi
STA
(LINZBS
,Y I STORE VALUE
CMP
(UNZBS
,Y I SAME VALUE?
BED
LO0P2
STY
1X1
ISAVE Y REGISTER
JMP
ERROR
IRAM ERROR
L00P2
ADC
*1
1 ADD 1
BNE
LOOP!
IDO IT AGAIN
PLA
I RESTORE CONTENTS
STA
(LINZBS
,Y
INY
(BUMP TO NEXT ADDRESS
BNE
AGAIN
INC
LINZBS+
I NEXT PAGE
LDA
LINZBS+1 ILOAD PAGE NUMBER
INDEX
CMP
t(HEX30
1 START OF CODE?
BNE
LOOPER
INO. KEEP GOING
ENDER
LDA
«t <HEX2Ca0 iPOINT IX TO •2000
STA
IX
LDA
* >HEXZC00
STA
IX+1
LDA
* <LDaPER IPOINT 1X1 TO
STA
1X1
I OUR CODE
LDA
« >LOOPER
STA
IXl + 1
LDY
•ENDER-LOOPER
TRANSFER LDA
(1X1) ,Y
IMOVE CODE FROM
STA
(IX) ,V
1^4000 TO •2C00
DEY
BPL
TRANSFER
LDY
•INDEX-LOOPER+1
LDA
RAMTOP
IMEMTQP VALUE
STA
(IX) ,Y
1 MODIFY COMPARE
INY
IPOINT TO CODE
INY
1 AFTER 'ENDER'
INY
1 LABEL
LDA
»JUMP
I CHANGE OPERATOR
STA
(IX) ,Y
ITO JMP
INY
RETURN
I
BACK
OX
I
HESe
ADDR
I
PLA
STA
LDA
ETA
LDA
STA
LDA
STA
LDA
STA
JSR
RTS
CLC
LDA
ADC
STA
BCC
INC
LDA
STA
JSR
JSR
LDA
STA
LDA
STA
LDY
LDA
BMI
STA
INY
BPL
AND
STA
LDX
LDA
STA
LDA
STA
LDA
STA
LDA
STA
LDA
STA
LDA
STA
JSR
JMP
I
(LINZBS) ,
• <RETURN
DOSINI
It >RETURN
DOBINI+1
« <BACK I
DOSVEC I
W >BACK !
DDSVEC+1
WARMSTART
RESTORE LAST
Y I ADDRESS
IPOINT DOSINI
TO AN RTS
POINT DOSVEC
TO OUR CODE
WARMSTART WILL
I RETURN THERE
IDO WARMSTART
1X1 IGET OFFSET
LINZBS I ADD MEM ADDRESS
FRO IPUT IN FP REGISTER
NOCARRY
LINZBS+1
LINZBS+1
FRO+1
IFP [CONVERT TO FP
FPA ICONVERT TO ASCII
• <ADDR IPOINT IX TO
IX I OUR BUFFER
« >ADDR
IX+1
«0
( INBUFF) ,
OK
(IX), Y IPUT IN OUR BUFFER
DD
(••7F
(IX) ,
«0
»PUTB
ICCOM
* <MESB IPOINT TO OUR
ICBAL I MESSAGE
k >MES6
ICBAL+1
»32
ICBLL
»0
ICBLL+1
ttl
CRSINH
CIOV
DX
IGET THE NUMBER
ITURN OFF HIGH BIT
ISAVE LAST DIGIT
■CHANNEL (EDITOR)
IPUT BYTES
I WRITE 32 CHARACTERS
ITURN OFF CURSOR
IDO I/Q
I LOOP FOREVER
.BYTE CR.CR,CR,CR,CR,TAB
-BYTE +•60, 'ram EftROft AT
.BYTE +^80, "ADDRESS "
.BYTE SP
.BYTE SP,SP, SP,SP,SP
•- •02E0
.WORD BEGIN
.END
ATTENTION
USER GROUPS
ly like to exten(i my thanks to all of the
Atari groups and their officers in response
to our survey.
If your group hasn't receive(d a question-
naire, please contact me as soon as possible
at:
ANALOG Computing
Attn: Lee Pappas
P.O. Box 23
Worcester, MA 01603
(617) 892-9230
PAGE 22
ANALOG COMPUTING
ISSUE 29
AM
Operating System
For Atari XLs
64KDisk XL
by Ken Alexander
The Atari XLs advertise 64K of RAM, but, as you know, this is rather mis-
leading. The 6502 processor can only access 64K of memory, and the ROM
takes up 14K of this, while the I/O region takes up 2K. This means that
16K of RAM is rendered inaccessible under normal circumstances. What
jood is RAM that can't be used?
Soon after I purchased my 1200, I called Atari and got their ori-
ginal 1200 information package through the mail. It promised to
tell how to access the whole 64K of RAM. All that it said on
the subject was: "PIA PORTB at 54017 ($D301) is used to con-
trol the memory management. BitO controls access to the
OS ROM and is normally enabled (bit=l). Setting the
bit to will disable the 14K of OS ROM in the region
$COOO-$CFFF and $D800-$FFFF and enable the RAM.
Unless another OS has already been provided, the sys-
tem will crash on the next interrupt." To disable the
ROM, you must first provide another OS in the
RAM . . . but, to provide another OS in the RAM,
you must first disable the ROM. Fun.
Then the translator disk came out, so it had
to be possible somehow. The translator puts the
equivalent of a 400/800 OS into an XL, and
it is highly recommended for XL owners. It
, not only allows XLs to run many Atari pro-
*, grams that they couldn't at first, but also
» gives them a modifiable OS.
Many minor changes can be made.
and a redefined character set can be
made by directly altering the main
set at $E000-$E3FF. It also frees the
4K block of memory from $C000
to $CFFF that was wasted ROM in
ISSUE 29
ANALOG COMPUTING
PAGE 23
the 800, giving you 4K of RAM that is absolutely pro-
tected. (Actually, the region from $CFOO-$CFFF isn't
available, because residing here are interrupt handlers
that allow for some hardware differences between the
XLs and the 400/800.)
Unfortunately, changes to the OS can't be made un-
til the translator has done its work, and these must
be small enough to fit in, or it's very easy to foul
something up. Recovery is difficult, because RESET
causes total lockup.
I disassembled everything, but 1 couldn't find the
translator program. Apparently it wipes itself out af-
ter changing the OS. 1 wanted to know how the trans-
lator worked, so I could make my own OS and then
put it in all at one time.
At first, I tried creating a new OS in RAM from
$4000-$7FFF and writing a program that would move
it up piece by piece. It used a vertical blank interrupt
(VBI) routine that would, each sixtieth of a second,
disable the ROM, move 256 more bytes of the OS
and re-enable the ROM before the VBI returned.
After all that, it didn't work. I finally reached Atari's
toll-free number and got through to someone who
knew about it — and who actually called me back in
the evening to talk about it. He sent me the program
in Listing 1.
In accordance with true Atari policy, they never told
the public about this. It's so simple that my superior
brain failed to think of it. With it, you can turn your
XL OS into RAM, or be Frankenstein— create your
very own OS, and this will give it life. D
Listing 1.
BASIC listing.
18 REM RAM OS BASIC MAKER
20 REM
38 OPEM ttl,8,0,"D:RAM0S.0BJ"
40 TRAP 68
58 READ A: PUT ttl,A:G0T0 58
68 END
^S2,'^6I^ 255,255,0,6,101,6,32,78,6,177
Al®lAi*^'2fl5,2ee,2e8,243,238,2B4;238,2
86,202,224,48,208,3,32,91
^{2 S?P 6'224,8,208,233,120,169,0,141
,14,212,169,254,141,1,211,32,70,6,177,
205,145,203,200,208,249,230
i?®„'*'*T* 204,230,206,202,224,48,208,3,
32, 91, 6, 224, 8, 288, 233, 88, 169, 64, 141114
,212,8,169,8,133,283,169
130 DATA 192,133,204,169,0,133,205,169
,64,133,206,162,64,168,0,96,160,8,238,
204,230,206,282,136,208,248,96
CHECKSUM DATA.
(see page 32)
18 DATA 566,253,776,638,388,253,298,73
6,396,110,4310
Assembly listing.
I "RflHOB"
I Thl« routlna movam th« 1200XL or
) BaaXL 08 ROM to RAM fron *A00e
I to »7FFF, diiablx the ROM, th«n
1 fflovffa th« OS back to Itm propar
I «cldr«ms in what i« now RAM.
I It can also ba usad to mova an
) altarnata OS into placa aftar
I it i« craatad at »4B0a-»7FFF.
I Just So to DISABLE at *61A
I instaad of tha start at *6e0.
I
I Tha scraan will flickar as tha
I charsat is disablad, and than
I Viola! You hava a RAM OB. Tall
ill your friands.
I
I
I aquatas
RDM
RAM
OSRDM
OSRAM
NMIEN
PORTB
I
*CB
ROM+2
«Ce00
«4000
«D40E
CD301
Ipaga ROM IndaK
Ipaga RAM indax
1 start o-f OS ROM
(start o-f RAM araa
iANTIC NMI disabla
IPIA OS ROM disabla
*- •0600
JSR INIT linit nova addrassa
ROM to RAM
LDA
STA
INY
BNE
INC
INC
DEX
CPX
BNE
JSR
CPX
BNE
SEI
LDA
STA
LDA
STA
JSR
(ROM) , Y
(RAM) , Y
MOV I
ROM+1
RAM+1
«*30
MOVIA
SKIP
«0
MOVl
»0
NMIEN
««FE
PORTB
INIT
Iskip I/O ragion
■disabla IRQ's
(disabla NMI's
(disabla OS RDM
} mova RAM to formar ROM raoion
nav2
LDA
BTA
INY
BNE
INC
INC
DEX
CPX
BNE
JSR
CPX
BNE
(RAM) ,Y
(ROM) ;y
MQV2
ROM+1
RAM+1
iiJIIIIIIIII
1 ATARI
POWER WITHOUT THE PRICE
AT. . .COMPUTER CREATIONS
: COMPUTERS
: Atari 800 XL
: Atari 66 XE
: Atari 130 XE
ATARI HARDWARE
COMPUTERS
CALL Atari 130 ST
FOR NEW Atari 520 ST
PRICES
: Atari 1060
Z Indus GT (Free Software)
; Astra 2001
; Happy Entiancement for Atari
: 810 and 1050 Drives
DISK DRIVES
CALL Atari SF 324 {3'/?" floppy disk 250K)
FOR Atari SF 354 (3'/i" floppy disk 500K)
NEW Atari SH 317 (SV;" fiard disk 10 IVIB|
PRICES
FOR
NEW
PRICES
CALL
FOR
PRICES
: PRINTERS
: Atari XTIvl 201 (Non-impact
: Dot Matrix 20 CPS)
[ Atari XTC 201 (Color, non-
: impact Dot fvtatrix
I 20 CPS)
: Atari XDrwl 121 (Daisy Wfieel
: Letter Duality 12 CPS) CALL
I Atari XMM 801 (Dot (vlatrix,
: Impact 80 CPS)
: Atari 1025 (Dot Matrix, Impact
I CPS)
: Atari 1027 (Letter Quality) ...
: Atari ST 504 (Color Dot Matrix.
'■ non-impact 50 CPS)
: Atari 5 DM 1 24 (Daisy Wheel
: Letter Quality, 12 GPS) ....
: Atari SMM 804 (Dot Matrix,
: impact 80 CPS)
: STAR MICRONICS PRINTERS
; SG-10 (80 column)
; SG-15(136 column) .. .
'■ SD-10 (80 column)
: SR-10 (80 column)
: SR-15(136 column)
' Powertype Daisywheel
: EPSON PRINTERS
: Epson RX-80-f (80 column 249.00
\ Epson RX-80^- FT (80 column) ... 31 9.00
: Epson FX-80-(- (80 column) 429.00
: Epson Rx 100-f(135column) ... 419.00
I Okidata 92P 440.00
I PRINTER INTERFACE CABLES
I MPP-Mioroprint 49.95
: MPP-1 150 Parallel Printer
- Interface 59.95
; Microbils Microstuffer 1 09.95
: PRINTER RIBBONS
' Gemini Printers (Black/Blue/
■ Red/Purple) 3.00
; Epson Printers 6.95
: OTHER HARDWARE
; Atari 1010 Program Recorder ... 54.00
; Atari GX 77 Toucti Tablet CALL
: Atari Ligtit Pen CALL
: Microbits64K(600XL)
: Expansion 69.00
■ Ram Rod XL w/ Omniview
■ for 800 XL 99.00
: Omniview (or 800 XL 49.00
'■ B.I. 80 Column Display Adaptor .... CALL
MONITORS
Atari XC 141 (14" Composite
Color)
Atari XM 148(12"
Monochrome. 80 column.
low resolution)
Atari SM 124(12"
Monochrome. 80 column. CALL
high resolution) FOR
Atari SC 1224 (12" RGB Color) PRICES
Sanyo 1 2" Green Screen 84.00
Sanyo 12" Amber Screen 89.00
Sanyo Color Screen. 13" 21 9.00
Sanyo 9" Green Screen 69.00
Monitor Cable 9.00
MODEMS
Atari 1030 Direct 300 Band
Connect CALL
Atari XM 301 Direct FOR
Connect 300 Band PRICES
MPP-1000E Modem 114.00
Signalman Mark XII Modem with
R-Verter 299.00
fvlarkXwilh R-Verter 169.00
DISKETTE/CARTRIDGE/
CASSETTE FILES
Flip'N' File 10 3.95
Flip'N' File 15 6.95
SOFTWARE
ATARI
Logo(R) 68
Prog. 1. 2 or 3(C) 18
Assembler Editor (R) 27
Macroassembler (D) 19
Microsoft Basic II (R) 45
Basic Cart. (R) 5
AtariWriter (R) 35
Family Finances (D) 18
Home Filing Mgr. (D) 21
Telelink I (R) 21
Visicalc{D) 45
Juggles House (C/D) 16
Juggles Rainbow (C/D) 16
Mickey in the Great Outdoors (D) . . 21
Skywriter (R) 16
Atari Music I or II 19
Speed Reading 27
Conv. Languages (ea.) 21
Video Easel 19
Type Attack 16
Asteroids 10
GENERIC DISKS AT FANTASTIC PRICES!
GENERIC DISKS AS LOW AS 940ea.
Generic 100% Defect-Free/Guaranteed.
Inclutjes sleeves, labels, wrrite protect tabs, reinforced hub rings, lifetime
warranty. (2 boxes minimum)
SS/SD SS/DD DS/DD
DISKETTES 2 boxes 11.99 13.99 15.99
(2 bx. minimum) 3-9 boxes 10.50 12.50 14.50
10 per box 10+boxes 9.40 11.49 13.99
• • DEALER INQUIRIES INVITED • •
EPYX
Moreta 25
Dragonriders of Pern 25
The Right Stuff 25
The World's Greatest
Baseball Game 25
FBI 25
Impossible Mission 25
Summer Games II 25
Summer Games 25
Pitstop II 25
Ballblazer 25
Rescue on Fractalus 25
Scrabble 25
ACCESS
Beach Head{D) 23
Beach Head II (D) 23
Raid Over Moscow (D) 23
ACTIVISION
Decathalon(R) 25
Pitfall II (R) 25
Space Shuttle (R) 25
Ghost Busters (D) 25
AMERICAN EDUCATIONAL
Spelling Grades 2 thru a (D) 28
Reading Comprehension (D) 28
AVALON HILL
Jupiter Mission (D) 38
Quest of Space Beagle (D) 38
BATTERIES INCLUDED
Paperclip (D) 59
BRODERBUND
Printship(D) 29
Spelunker(D) 19
Stealth (D) 19
Whistler's Brother (D) 19
CBS
Call for items and prices
CONTINENTAL
Home Accountant (D) 44
DATASOFT
Bruce Lee 23
Dallas Quest 23
Conan 25
Letter Wizard w/speller CALL
ELECTRONIC ARTS
Archon(D) 29
Pinball Construction (D) 29
M.U.L.E.(D) 29
Murder/Zinderneul (D) 29
One on One (D) 29
Archon 11(D) 29
Financial Cookbook (D) 37 ;
Music Construction (D) 29 !
Realm/Impossibility (D) 29 ■
Hard Hat Mack 25 ;
AXIS Assasin 25 :
INFOCOM :
Cut Throats (D) 23 '•
Deadline (D) 29 ;
Enchanter (D) 23 :
Hitchhiker's Guide to ■
the Galaxy (Di 23 :
Infidel (D) 26 :
Planetfall(D) 23 ;
Sea Stalker (D) 23 :
Sorcerer (D) 26 :
Starcross(D) 29 ;
Suspect (D) 29 :
Suspended (D) 29 :
Witness (D) 23 ;
Zorkl(D) 23 :
Zorkllor lll(D) 26 ;
Invisiclues Hint Books 7 ;
MICROPROSE :
F-1 5 Strike Eagle (D) 23;
Mig Alley Ace (D) 23;
Solo Flight (D) 23 I
OSS :
Action (R) 59 :
Action Tool Kit (D) 25 1
Basic XL (R) 59 ;
DOS XL (D) 25 :
MAC/54 (R) 59 :
MAC/65 Tool Kit (D) 25 ;
ORIGIN :
Ultima III (D) 39 :
SCARBOROUGH ;
Mastertype 25 ;
SIERRA ON LINE :
Ultima I 23 ;
Ultima II 39 :
SPINNAKER :
Call for items and prices ;
SYNAPSE :
Quasimodo 15;
Alley Cat 15 ;
Syn-Flle-I- 38:
Syn-Calc 38 |
Syn-Trend 38 ;
Syn-Comm 29 1
Syn-Stock 29 j
TBONIX :
S.A.M 39:
Chatterbee 25 ■
To order call TOLL FREE
1-800-824-7506
ORDER LINE ONLY
COMPUTER CREATIONS, Inc.
P.O. Bo 292467 - Dayton, Ohio 45429
For information call: (513) 294-2002 (Or to order in Ohio)
Order Lines Open 8:30 a.m. lo 8:00 p.m. Mon.-Fri.; 10 a.m. to 4:00 p.m. Sat. (Eastern Standard Time). Minimum SI per order. Orders
under $100 add $3.00. C.O.D. (add $2.50). All prices are subject to change without notice. Call toll free number to verify prices and
availability of product. Actual freight will be charged on all hardware. Software and accessories add $4.00 shipping and handling in
Continental United Slates. Actual freight will be charged outside U.S. to include Canada. Alaska, Hawaii, Puerto Rico. Ohio residents
add 6% sales tax. NO CREDITS! Return must have authorization number.
CIRCLE #113 ON READER SERVICE CARD
IT?
ISSUE 29
ANALOG COMPUTING
PAGE 25
16K Disk
by Grant Albrecht
MaxiCopy is a very useful utility for the Atari com-
puter. It allows you to take full advantage of available
memory when copying disk files. This helps to mini-
mize or eliminate the need for disk swapping when
more than one file on a disk has to be copied, but
a duplicate disk is not desired.
MaxiCopy is written entirely in assembly language
tor optimum speed. The program demonstrates some
useful routines for data input/output, as well as an
effective error trapping routine.
Using it.
To use MaxiCopy, simply load the binary file. The
program will autostart and begin by prompting the
user to enter a filename. You don't have to enter the
device prefix. MaxiCopy assumes drive 1. Note: minor
modifications could permit flexibility in drive selec-
tion, but the program's greatest advantage is gained
with a single-drive system.)
Enter the names of the files you wish to copy. The
program will accept as many as sixteen filenames, af-
ter which it will sound the console buzzer to alert you
to initiate copying.
If you wish to copy fewer than sixteen files, then
simply press RETURN in response to the filename
prompt, to terminate input. The program will prompt
you to insert source and destination disks as required.
When the copy is completed, the option is offered
to start over or to return to DOS. D
PAGE 26
ANALOG COMPUTING
ISSUE 29
Listing 1.
BASIC listing.
10 REM *** MftXICOPY MAKER ***
29 DATA 8,1,2,3,4,5,6,7,8,9,6,8,0,0,8,
0,0,18,11,12,13,14,15
38 DIM DAT5 01J,HEX{22J :FOB K=8 TO 22:
READ N : HEX CX)=N: NEXT X : LINE=9?e : RE5T0R
E 1080: TRAP 110:? "CHECKING DATA"
40 LIHE=LIME+10:? "LINE ! ";LINE : READ DA
IS: IF LENtDATS3<>98 THEN 150
58 DATLIN=PEEKC183J+PEEKtl84)«256:IF D
ATLINOLINE THEN ? "LINE ";LIHE;" MI55
ING ! " : END
68 FOR X=l TO 89 STEP 2 :D1=A5C CDAT$CX)
> -48 : D2=ASC CDATS CX+13 J -48 : BVTE=HEX CDIJ
»16+HEXtD2J
78 IF PA5S=2 THEN PUT ttl, BYTE : NEXT X:R
EAD CHK5UM:G0T0 40
88 TOTAL=TOTAL+BYTE:IF T0TAL>999 THEN
TOTAL^TOTAL-ieOO
90 NEXT X:READ CHKSUH:IF TOTAL=CHKSUM
THEN 40
100 GOTO 150
110 IF PEEKC1953 06 THEN 150
120 IF PASS THEN CLOSE ttl: END
138 ? "INSERT DISK WITH DOS, PRESS RET
URN";:INPUT DAT$:0PEN ttl,8,0,"D:MAXIC0
PY.OBJ"
148 ? :? "MRITIN6 FILE":PASS=2 :LINE=99
8: RESTORE 1888: TRAP 110: GOTO 40
150 ? "BAD DATA: LINE ";LINE:END
1888 DATA FFFF8821822144313A1821122144
313A2821222144313A3e21322144313A482142
2144313A5821522144313A6e,544
1810 DATA 2ie22144313A7821722144313A80
21822144313A9021922144313AA021A2214431
3AB021B22144313AC821G221,998
1828 DATA 44313AD021D22144313AE021E221
44313AFe21F22144313A0023022300e0002323
232300e423CD26000000800e,828
1030 DATA 007D2020202020202e4D41584943
4F50S920627920472E20416C6272e56368741D
9B46696Ce52e746F20e36F78,213
1848 DATA 793F9B496E7365727428736F7572
6365286469736B3A9B496E7365727428646573
74276E286469736B3A9B4D6F , 644
1058 DATA 726520746F20636F70793F9BFD9B
FD425245414B204B45592041424F52549B2080
26208426A9eAA223202326A0,794
1060 DATA 69A90e9900238810FAA9e0A22185
B086B1AD300238E9018D6423AD3102E9818D65
23A2808E0223A98BA2232023,79
1070 DATA 2ei8A9e365B0A6B1208E2ei007C0
80DeE94CBC25A883BlB8C99BF81528EF25AEe2
23E8E81898D88E8223A9CFA2,423
1888 DATA 23282326A9018D8e23A999A22328
2326A9e8A222288E26AEe8232eE825AE8823A9
CE85B2A92785B38E8823A5B2,547
1090 DATA 9D2323A5B39D3323ADe42338E5B2
8De623ADe523E5B38De723De034C2E25AD2323
F010A90e8D2323A9029D0223 , 20
1100 DATA CE01234CB624A9ei8De923A90420
A626300DA210A9072e6426105AC888F01420FB
25AEOO23FE1223A90O9D4323,959
1110 DATA 9D53234CF024AE0823AD58039D43
23AD59039D5323BD6223C9029003FE022320S0
26AE0023BD43231865B285B2,37
1120 DATA BD532365B385B320EF25AEe023EC
e223B01EEE8023AE00234C7224AE0023FE0223
AD58039D4323AD59e39D5323,203
1130 DATA EE2323A9ADA223202326A900A222
288E26A9828D6923EE8123AE812320E025AEei
23BD1223D03EBD0223C982B8 , 288
1148 DATA 10A98828Ae26ie892eFB25AE0123
FE1223AE0123BD1223DeiFBD232385B2BD3323
85B3BD43238De623BD53238D, 444
1150 DATA 6723A228A98B28642638D0AE0123
BD0223F889C9039008A9e09De22320S42eAEei
23EC8823B8834C4125BDe223, 52
1160 DATA D005EC0223F00A4C5324A9D1A223
202326A9ClA223202326A9e0A22220SE2e30F0
AD0e22C959D6834CE2236C0A, 355
1170 DATA 00A9F085B0A92085B120EF25CADe
FA60A5B018e91085B090e2E6B16084D4A9e085
D520AAD920E6D8A000BlF330,47e
1180 DATA 080980995E26C8D0F4995E26A93B
A226202326A5B0AeB18D44038E4503A200A909
8D42e3A9FF8D48038E49034C , 970
1198 DATA 56E47D282e2020202020202e2020
202020282e4E6F742863eF7869e5642828C5D2
D2CFD2AeB8B8B81ClC9B9D42, 106
1200 DATA 83A5B29D4483A5B39D4503AD6e23
9D4803AD67239D49034C56E4A210D002A22eA9
eC9D42034C56E48D44038E45, 531
1210 DATA 03A200A9e5SD42e3A9FF8D48038E
49034C56E48D6823ADe923eA0A0A0AAAA9e39D
4203AD68239D4A83A9809D4B, 476
1228 DATA 83A5B89D4483A5B19D45834C56E4
E8e2E182E2238808888888e8888888888888e8
608888888888888888888888,723
CHECKSUM DATA.
(see page 32)
18 DATA 571,957,888,428,727,554,599,55
3,272,698,616,21,856,33,162,7843
1866 DATA 49,123,42,366,643,551,635,71
6,531,858,517,761,698,717,588,7789
1158 DATA 571,531,741,756,445,683,898,
884,5509
Listing 2.
Assembly listing.
1 *
MflXICOPY 2.1 •
1 *
»
1 » PrOQ
to copy reultipla f i 1 as . *
1 •
By Grant Albracht »
; •
B4/a7/lB •
*
; *«*»*««*«»*««*««« *'»i.#*'»»««««**-»»
}
»" »2ia0
; Equates
ICCMD
»0342
ICflDR
»0344
ICLEN
«034B
ICftUX
»«l34a
DLIST
«B23ei
CQPEN
3
CG8IN
7
CETXT
S
CPBIN
11
CPTXT
■?
CCLDS
12
OPINP
4
QPQUT
B
GOADR
»02EB
DDSUOC
»0A
CIO
• E4S6
EOL
»9B
EOF
13t
ZPB
*B0
ZP2
«B2
FR0
»D4
IFP
»D7flfl
FftSC
»D8E6
INBUFF
»F3
!
I Raftarvcd mamory
FNHHES
.BYTE "Dl:"
«- »+13
.BYTE "Dl!"
»- »+13
.BYTE "Dl:"
»- *-HZ
.BYTE "Dl:"
»= •■H3
.BYTE "Dl:"
»• .♦13
.BYTE "Dl:"
»= »+13
.BYTE "Dl:"
*- »+13
.BYTE "Dl:"
•« »+13
.BYTE "Dl:"
»- »+13
.BYTE "Dl:"
»" ♦+13
.BYTE "Dl:"
•» #+13
.BYTE "Dl:"
». S+IJ
.BYTE "Dl:"
»« »+13
.BYTE "Dl:"
«- »+13
.BYTE "Dl:"
»"= .+ 13
.BYTE "Dl:"
••- » + 13
BUFF •» »+256
RDONE .BYTE
IM filaa raad
ISSUE 29
ANALOG COMPUTING
PAGE 27
UDDNE
COUNT
PART
EFLB
FLAG
SLQ
SHI
I
LLD
LHI
I
EDM
FLEN
MODE
CHAN
I
I
I n«
I
HSl
I1S2
I1S3
.BYTE a
.BYTE a
»- *+l6
.BYTE e
»» ♦+16
»" *+16
»- »+li
»- »+16
.WORD a
.WORD e
.BYTE
.BYTE e
Mr i ttan
1« -fill
;# -filas to copy
(Only part r««d7
i Error -f 1 ag
)Start addr of
; f i 1 » data.
SLBngth a+
If il«.
1 End avail mam
I
ERl
MS5
MS&
nS7
lagaa uaad by program
.BYTE »7D ," MAXICOPY"
.BYTE " hy G. ftlbracht" ,EDL
.BYTE "Fila to copy?" EOL
.BYTE "Insert aourca ''
.BYTE ■'di«k:",EOL
.BYTE "Inaart daat'n "
.BYTE "di«k:",EaL
.BYTE "Mara to copy7",EaL
.BYTE »FD,EaL llball char'/
-BYTE »FD, "BREAK KEY ABORT", EOL
I Actual code bagina hare
INIT
I
UPl
I
JSR CLOSEl
JSR CL0SE2
LDA D <MS1
LDX « >MS1
JSR PRINT
tClofia filaa,
; ( juat i n caaa) .
;Print titlt
LDY »103
LDA «0
STA RDONE.Y llnitiliia
DEY ;Riamary.
BPL LPl
LBA » <FNAMES
LDX * >FNAMES
STA ZP6 I IPointar to
STX ZPG-t-l I filananas)
LDA DLIST
SEC
SBC *l
STA EOM
LDfl DLIST+l
SBC HI
STA EOM+1
} Eat abl i «h tap
;avall mamory
!a« 1 pagtt bslow
Idiaplay list.
Tha
f il
followina loop
tol lowing
•namec unri
I juat [RETURN]
pressed or sixteen names
e been entered.
LDX «e
STX COUNT
LDA tt <MS2 (Ask for
LDX « >HS2 Ifilename.
JSR PRINT
CLC
LDA »3
ADC ZPG JPut the nami
LDX ZPE+1 Sinto FNAME
JSR INPUT Jbuffer.
BPL OK ; Input Qk?
CPY »12a SBREAK koy7
BNE ASK ;No, retry.
JMP ABORT lYes abort.
)Ju»t [RETURN]?
1 Yes input done.
OK
LDY
1)3
LDA
(ZPG) , Y
CMP
(tEOL
BED
OUT
JSR
INCZPE
LDX
COUNT
INX
CPX
»ib
BCC
LP2
STX
COUNT
IGot 16 names?
i No , get mor e .
LDA * <MS6 lAlert user by
LDX It >MS6 isounding bell.
JSR PRINT
I
SRC
LDA
HI
SReaat counter
STA
RDONE
ifor It read.
LDA
II <MS3
lAak for saurca
LDX
II >MS3
idisk.
JSR
PRINT
LDA
II <BUFF
;Wait for user
LDX
H >BUFF
i to press
1 [RETURN] .
JSR
INPUT
LDX
RDONE
JSR
ZLODF
;Set FNAME pntr
LDX
RDONE
LDA
It <MEn
; Poi nt t a start
STA
ZP2
Sol aval 1 abl e
LDA
H >MEH
1 memory .
STA
ZP2 + 1
STX
RDONE
LDfl
ZP2
;Keep tha addr
STA
SLO-1, X
Iwhere this
LDA
ZP2+1
I f i 1 B is saved .
STA
SHI-1 , X
LDA
EOM
;Calculate max
SEC
i number of byte!
SBC
ZP2
; that can be
STA
FLEN
; read into mem.
LDft
EQM+1
SAnd use this
SBC
ZP2 + 1
; as file 1 ength
STA
FLEN+1
1 when reading.
BNE
READ
Slf nil then
! Mr i te first.
JMP
WRITE
LDA
FLAG
JFile open?
BEQ
OVERl
; No , skip thi e.
LDA
ite
iYes, so...
STA
FLAG
SReset flag.
LDA
»2
;Set flag so
STA
PART-1, ;
K I wr i te rout i ne
DEC
WDONE
1 wi 1 1 append .
jSkip file open
JMP
0VER2
I
I
NEND
UCL
I
NCLOSE
I
WEND
BAK
I
ABORT
I
FINI
STA CHAN lOpen fill
LDA ItOPINP (channel 1
JSR OPEN (input.
BMI ERl
LDX ttsie
LDA HCGBIN
JSR PUTGET
BPL NEND
CPY IIEOF
BEQ REND
(Retrieve bytes
(from the file.
( No errors?
(EOF reached?
( Yea.
JSR ERROR (Report error,
LDX RDONE (then continue.
INC EFL6-1,X (Flag it.
LDA l»0
STA LL0-1,X (Set file length
STA LHI-l.X (to zero.
JMP RCLOSE (And skip it.
LDX RDONE
LDA ICLEN+16
STA LLO-l.X (Save the length
LDA ICLEN4-17 (of the file.
STA LHI-1,X
LDA PART-1, X (Part written?
CMP 112
BCC RCLOSE SNo.
INC PART-1, X (Yes, now fini.
JSR CLOSEl
LDX RDONE
LDA LLO-1
CLC
ADC ZP2
STA ZP2
LDA LHI-1,X
ADC ZP2+1
BTA ZP2+1
JSR INCZPG (Next filename.
LDX RDONE
CPX COUNT (Finished read?
BCS WRITE [Yes, now write.
X (Adjust memory
( poi nter to
( next aval 1
( space.
INC RDONE
LDX RDONE
JMP LP4
(No, increment
( counter and
( keep read i ng
LDX RDONE i Only part of
INC PART-1, X (file read.
LDA ICLENflfa (Sava file
STA LLQ-1,X [ length.
LDA ICLEN+17
STA LHI-l,X
INC FLAG (Set flag.
LDA » <MS4 (Ask for dest'n
LDX II >MS4 (disk.
JSR PRINT
LDA It <BUFF (And wait for
LDX It >BUFF (user to press
JER INPUT ([RETURN]?
LDA 112
STA CHAN
INC MDONE
LDX MDONE
JSR ZLOOP
LDX WDONE
LDA EFLE-l,
BNE WCLOEE
(Use channel 2
(for wr i te.
[ (• written)
[Set FNAME pntr.
(Err from read?
(Yes, skip write.
LDA PART-l,X
CMP 112 (Part written?
BCS W0VER2 [Yes, dont open.
LDA «OPOUT (Open new file
JSR OPEN (for output.
BPL W0VER2 (Error on open?
1
ER2
JSR
ERROR
(Disp err msg.
LDX
WDONE
(and set flag.
INC
EFLG-1,X
W0VER2
LDX
WDONE
LDA
EFL6-1, X
( Any error?
BNE
WCLOSE
(Yes skip wr i te
'
LDA
SLO-1, X
(Point to start
STA
ZP2
(of file data.
LDA
SHI-1, X
STA
ZP2+1
LDA
LLD-1,X
(Get saved
STA
FLEN
(file length.
LDA
LHI-l.X
FLENf I
STA
(Send the bytes
(to the disk.
LDX 112*16
LDA ItCPBIN
JSR PUTGET
BMI ER2 (Error on writ
LDX WDONE
LDA PART-1, X
BEQ WCL
CMP 113 (Still part
BCC NCLOSE (read/write?
LDA 110 (No, finished.
STA PART-1, X
JSR CL0SE2
LDX WDONE (Wrote all fil
CPX RDONE (that were rea
BCS WEND (Yes.
JMP WMORE INo, writ
e more.
(Fini shed?
(Yes.
(No, keep going.
LDA PART-1, X
BNE BAK
CPX COUNT
BED FINI
JMP SRC
LDA » <ME7 [BREAK key abort
LDX It >nG7 (message.
JSR PRINT
LDA II <M5S (Ask if more
LDX * >MS5 (files to copy.
JSR PRINT
LDA II <BUFF (Accept input.
LDX « >BUFF
JSR INPUT
BMI FINI
LDA BUFF
CMP »'Y
BNE EXIT
JMP INIT
JMP (DOSLOC)
(Retry if error.
(More to copy?
(No.
(Yes, restart.
(Indirect jump.
RTRRI
SOFTWARE
PROTeCTION
recHHfOues
^EEDHGE (nOHHISaW,
ADVANCED
RTRAI
PROTeCTIOH
TECHNIOUes
^GEORGE nOHRiaXt-
THEBOOKI
THE BOOK II
BOOK I + DISK: (TheOriginal)Thoroughly explains the techniques used by advanced
software pirates, and the copy prelection methods used to stop them, ll oilers clear and
understandable explanations sophisticated enough for software writers of any scale yet
easy enough lor a beginner just wanting to learn more about Atari"' computers. A MUST
READ FOR ALL ATARI' OWNERS.
BOOK! INCLUDES: • Duplicate sectoring • Custom disk formatting • Creating "BAD"
sectors • Hardware data keys • Legal protection like copyrights, trade secrets, patents
• Protecting BASIC programs • Sell-modilying Code • ROM + EPROM cartridges
• Hidden serial numbers " Self-deslruciing programs • Freeware • Misassigned sectoring
• Much, much more.
, DISK I INCLUDES: • Directory mover • VTOC scanner* Duplicate sector finder • Sector mover* Bad sector writer •
Sector data displayer • Autorun builder • Other useful programs.
This comprehensive book and disk package should not be confused with low quality imitations olfered elsewhere.
BOOK II + DISK II: Advanced Software Protection. This all new sequel starts where the highly acclaimed Book
leaves off. Book II is the most up-to-date resource available for the Atari- owner. Includes reviews and explanations
of products such as; The Happy Enhancement ', The Impossible ', The Scanalyzer ', TheChip ', The Pill ' and Super Pi
& many others,
BOOK II: Tells you specifically what Ihey copy, what 1 hey won't, how they are used, and the details ol how they work.
Book II also includes such topics as: • Transmitting protected programs • Copying disks with more than 19 sectors/lrack
• Data encryption " Phreaking methods • Program worms • Logic bombs • Bank-select cartridges • Random access
codes • New trends in software law • Sample BASIC + Assembler programs • On-line security • And much more.
DISK II INCLUDES: • Automatic program protector • Custom format detector • Newest protection demos • Forced
password appender • Data encrypler • And much more.
OFFICIAL RELEASE DATE: APRIL 30— ORDER NOW TO RESERVE YOUR COPY.
Book + Disk Packages only $24.95 each or Special Offer both for only $39.95
Print you( Alari graphics like you've never seen beloret Magniprlnl 11 is the most powerful print utillly
available for your computer. II is the only soltwaro thai can accurately print GTIA modes wjth 16 shades.
• Prints all graphic modes (not text modes 1 a 2) • Can blow up your pictures to wall sized posters
• Special option lets you center the picture on the page • Shrink Ihem down to H page • Works
with NEc5. CITOH, EPSON or Gemini printers with graphics (B50 Interlaco or equivalent re-
quired) • Accepts your own graphics creations or those created with Graphics Master*,
Micropainter-. Fun Wilh An*. Super Sketch*, Atari Graphics Light Pen*, B/Graph*. Koala Pad".
Atari Touch Tablet". Paint*. Strip Poker*. Graphics Magician*, and others • Includes many
beautiful sample pictures • Does amazing graphics with your standard printer and paper
• Special lealure lets you modify pictures with your joystick • Add text to your pictures • Can
convorl a graphics mode 9 piclure to a graphics mode 8 one (and vice versa) • Allows you
to print the whole screen or any solocted portion of the screen in multiple sizes • Includes
HELP screen for easy use • Pnnls GTIA modes 9, 10, and 11 with 16 dilferenl shades- Quick-
Print lets you have a quick preview ol the picture • See your pictures in full GTIA shades.
Posters print along continuous sheets ol paper ItO/l QIZ
which are attached together when done. ONLY^^H.O J
h every Magnipfint II order g et '•PRINTAL L' FREE- PRINTALL prints your programs and files just as Ihey
the screen. It clearly prints MJpJJ;tJJ and all the Atari graphics characters, and prints In regular or
Iprinl. This alone is worth the price.
I Actua lly don e!
[with Magnlprint|
ERSONAI^
tABTRIDGE TO DISK
COPY SYSTEM
Yes, for only £39.95 you can make working copies of all your Atari" computer cartridges (16K
will let you save your cartridges to ordinary disk (ilos. They will run exactly like the or
Impersonator. Each disk holds up to 12 cartridge programs. Now you can put all your real car
and use the Impersonator for everything. YES, IT REALLY WORKSI The Impersonate
I everything the high-priced cartridge back-up systems do . . . and MORE
rlridges away for sale keeping
•'°" ONLY $39.0-^
■ 1 I
BONUS: Order any 3
. programs & gel FREE,
- Deluxe Space Games
(3 games on a dlsH)
I
I Establixh pointar to FNAnES
I
LOft » <tFNflnES-l&3
STA IPS
LDA * >tFNAM6S-16]
STA ZPB+1
JSR INCZPS
DEX
BNE LPS
RTS
I Incrainant pointer to FNAHES
INCZPG LDA ZPS
CLC
ADC «1&
STA ZPB
BCC INCX
INC ZPB+1
RTS
INCX
I
I Display error
ERROR
STY FRB
LDA *0
STA FRa+1
JSR IFP
JSR FABC
JStora error #
i in floating
Ipoint ragimtar.
IConvart to
■ASCII format.
EL2
I
I
LDY »a
LDA (INBUFF),Y
BMI EL2 iCopy error «
ORA *12e Ito aassage.
STA ERR+3S,Y
INY
BNE ELI
STA ERR+35,Y
LDA tt <ERR
LDX » >ERR
JSR PRINT
LDA ZPB
LDX ZPB+1
IDimplay error
I mCBsage. . .
CMith name
)of file.
I Display memaage to screen
PRINT STA ICADR
STX ICADR+1
LDX *e
LDA HCPTXT
STA ICCMD
LDA lt2S5
STA ICLEN
STX ICLEN+1
JMP CIO
I
I Memaaga to display error
I (space reserved for ■filanafna)
ERR .BYTE »7D, "
.BYTE "Not copied "
.BYTE +»BB "ERROR 000"
.BYTE »1C,*1C,E0L
1
I Puts/Qats bytes to/froffl disk
PUTGET
STA
ICCMD, X
LDA
ZP2
STA
ICADR, X
LDA
ZP2+1
STA
ICADR+1, X
LDA
FLEN
STA
ICLEN, X
FLEN+1
LDA
STA
ICLEN+1, X
JMP
CIO
1 Close
file
1 or 2
CLDSEl
LDX
*«10
BNE
CLOSE
CLDSE2
LDX
**20
CLOSE
LDA
ItCCLOS
STA
ICCMD, X
JMP
CIO
t Accap
t input from keyboard
INPUT
STA
ICADR
STX
ICADR+1
LDX
•
LDA
HCSTXT
STA
ICCMD
LDA
«2S3
STA
ICLEN
STX
ICLEN+1
JMP
CIO
1 Same
as BASIC
1 OPEN
ipEN
tCHAN
MODE, 0, BUFF
STA
MODE
LDA
CHAN
ASL
A
ASL
A
ASL
A
ASL
A
TAX
LDA
DCOPEN
STA
ICCMD, X
LDA
MODE
STA
ICAUX,X
LDA
«0
STA
ICAUX+1,X
LDA
ZPB
STA
ICADR, X
LDA
ZPE+1
STA
ICADR+1, X
1
1
1 Usaab
1
MEH
1
JMP
CIO
*a
»+2Si I (Safety buffer
le memory starts here
-
»
«3:
GOADR
.WORD INIT J (Autorun -file)
.END
1CALL: 216-374-7469 to charge Id MasterCard or VISA
OR MAIL TO: Alpha Syslems/ 4435 Maplepark Rd. /Slow, OH 44224
Send check or money order. Include $2.00 shp. & hdlg. ch
Ohio residents add 5'/;% sales lax.
:ii
CIRCLE #114 ON READER SERVICE CARD
A
ATARI
$69.95 (Rom)
$49.95 (D or C)
Vastly SUPERIOR to any translation programs
availablel FOR ATARI
1200XL/600XL/800XLwitti 64K.
(Please specify computer model numberl)
THE
XL "FIX"!
A
ATARI-
$69.95 (Rom)
$49.95 (D or C)
Ttie Atari XL series computers represent power, soptristication. and
flexibility virtually unrivalled in todays Home Computer Market.
Witti "approximately" 30-40% of existing software being "incom-
potoble", a real, and serious problem exists. Because of ttiis we
hcjje developed THE XL "FIX"I
ADVANTAGES over ctieoper "translation products":
1. The XL "FIX"! is capable of fixing more software ... an estimated
30% more software!
2. Ttie XL "FIX"! is available in DISK, CASSEHE, and now ROM!
3. XL "FIX"! versions fix ALL THREE types of software (Disk - Cassette -
and Cartridges!)
4. Thie XL "FIX"! (disk or cossette) adds OVER 4K of usable RAM to your
computer (anyone using Data bases or Word processors will really
appreciate ttiis feature!)
5. You never tiave to tioid ttie OPTION button down on 600XL or
800XL computers!
6. 'i/ERY IMPORTANT! You need to load the XL "FIX"! only once ... you
canchangedisks. cassettes, or cartridges withoutrebooting the XL
"FIX"! each time (disk or cassette)!
7. The ROM version is instantaneous upon computer power up, has a
high speed cursor, is instantly switchable to your original operating
system, will work with 16K 600XL's, and morel
The XL "FIX"! .... another SUPERIOR product! 64K required!
DISTRIBUTOR/DEALER inquires welcome
Mastercard-Visa-Money
Order or Cashier Checl<.
Phone (716) 467-9326
Please specify computer
model numberl
Send S49.95 (S69.95 for Rom)
plus $4 shipping and handling
(N.Y.S. residents olease add 7%) to:
COMPUTER SOFTWARE SERVICES
P.O. Box 17660
Rochester, New York 14617
A
ATARI
ONLY
$49.95
PROTECT your DISK programs and
files BEFORE lending mem out!
THE
"PROTECTOR"!™
A
ATARI
ONLY
$49.95
Includes hardware and software! The "PROTECTOR"
produces a true BAD SECTOR GENERATOR which will allow you
to create BAD SECTORS wherever you wish (approximately 10
per second!). You'll never have to fool witti ridiculous speed
adjustment or tape jerking schemes again! Simple do it
yourself installation requires 15 to 20 minutes!
The DISK software is the most versatile that we've ever seen
and it's lightning FASTI Allows you to move and rearrange data
anywhere on the disk, scrambles directories making them un-
occessible to others, and offers IMSTANT mapping of file disks
(requires one second for ENTIRE disk!). Simple operation.
All these features are done from a 720 sector FULL VIEW
mop for total operator viewing and simplicity!
Multiple drives
Digitial SECTOR indicator
Directory scrambler
Moves/arranges data
Selectable read/write
Selectable start/end
Hex conversion
Disk Duping
• Disk mapping
• Instant map
• Compaction
• Fast formating
• Auto-formating
• Bod sector memory
• Instant restart
• Multiple copy function
DEALER/DISTRIBUTOR INQUIRIES WELCOME!
Our other fine products include
THE "PIU" and THE "SIIENCER".
Send $49.95 plus $4 shipping
and handling (N.Y.S. resi-
dents add 7% soles tax) to:
COMPUTER SOFTWARE
SERVICES
P.O. Box 17660
Rochester, New Yortc 14621
Phone Order:
(716) 467-9326
Mastercard-Visa-Money
Orders or Bank Checks. Atari
Is a TM of Atari Inc. The
"PROTECTOR" is a TM of
COMPUTER SOFTWARE
SERVICES (division of S.C.S.D.,
Inc.) 100% WARRANTY
(replacement only - no
refund policy.)
A
ATARI-
ONIV
$149.95
For years they said it couldn't be done .
THE
"IMPOSSIBLE"!
they claimed!
A
ATARI-
Backup almost any disk currently available (even heavily protected programs) with an UNMODIFIED disk drive! $i49.95
Works with ANY disk drivel
PURPOSE: The "IMPOSSIBLE" was developed in response to the estimated half million disk drive users that own a drive other than the Atari 810 (Indus, Per-
com, Trak, Rana, Astra, etc.) that wish to BACK UP their protected software. Due to a radically new technology developed by Computer Software Ser-
vices, modification to your disk drive has been eliminated! The advantages are obvious! Drive warranties are not violated, the chance accidental
damage has been eliminated, etc., etc.
OPERATION: The "IMPOSSIBLE"! consists of a disk program (unprotected so you can make as many backups as you wish) and a 4K STATIC RAM pack
which is inserted into your computer (no soldering!)The "IMPOSSIBLE"! will read your program disk and then re-write it In an unprotected form at! You may
mcke additional backup copies using a sector copier or even regular DOS! Because your backup copy no longer has BAD SECTORS or EXOTIC FORMATS,
the program data can now be manipulated into DOS compatable files (even double density!), transfered to cassette, etc. (with the aid of our Satellite
programs!) No user programming knowledge required. A few programs require logical thinking.
FEATURES: 1 Backup protected disks 5. AFSD-Automotic FUZZY Sector Discriminator
2. Handles most MULTI-LOAD programs 6. Expands computer memory to 52K usable
3. Makes DOS files (with Satellite option) 7 Simple NO SOLDER installation
4. Up to 90K data input capable 8. Satellite expandable
PROJECTED SATELLITES: A "COMPACTOR" program which will convert your program into DOS compatable files (double density compatable!) for the
storage of several programs on one disk. A "COLUMN 80" program for Word Proccessing, etc. It allows 80 columns on the screen! The "XL-MATE" will allow
programs made with your 400/800 "IMPOSSIBLE"! to now play on your XL Computer! The METAMORPHOSES II program will allowyou to convert your pro-
tected CASSETTES into disk DOS files and vice-versa. All satellite programs must be used with inconjunction with The "IMPOSSIBLE"!
REQUIREMENTS: The "IMPOSSIBLE" diskette, the 4K STATIC RAM pack, a 400 or 800 computer (please specify!) with 48K and "B" Rom's. NOTE! The very old
ATARI computers were shipped with "A" Rom's which hod some serious "Bugs". Even if you don't own on "IMPOSSIBLE,"you should upgrade to "B" Rom's
(simple to install!) We have them available at a very inexpensive price CALL US! "XL" version available soon!
NOT A PIRATING TOOL; We at C.S.S. did not design The "IMPOSSIBLE"! to put Software Manufactures out-of-business overnight! Nearly all of our products
have been "ripped-off" by industry parasite who have little or no ability to develop a product of their own so we can sympathize with their dilemma. All
C.S.S. products have built-in safe guards which prohibit their use for flagrant pirating. The "IMPOSSIBLE"! is no exception! While The "IMPOSSIBLE"! back-
up the most heavily protected programs, it also checks to see that the 4K STATIC RAM pack is installed before allowing the backup copy to
execute!
EXAMPLES: The "IMPOSSIBLE"! has been tested on 300 of the most pop-
ular and heavily protected programs we could find. With nearly 4000
programs for Atari, we DO NOT guarantee that it vAl\ backup all pro-
grams in the past-present-end future! We will supply updates at $6 each
(non-profit!) if and when necessary. Programs we hove successfully
backed up include: Blue (■/ax. Visi-cal, Archon, Mule, File Manager 800
-, Syn Calc, Syn File, One on One, 7 Cities of Gold, Super Bunny, Load
Runner, Drol, and Gumboil just to name a few!
Mastercard- Visa-Money
Orders or Cashier Check.
Phone:(716)467-9326
Please specify computer
model numberl
Send $149.95 plus
$4 shipping and handling
(N.Y.S. residents please add 7%)
COMPUTER SOFTWARE SERVICES
P.O. BOX 17660
ROCHESTER, N.Y. 14617
CIRCLE #115 ON READER SERVICE CARD
PAGE 30
ANALOG COMPUTING
ISSUE 29
%.•
EX.TE1V13ED
CALCULATIONS
m
m
16K Cassette or Disk
z^
by Donny Cherf
I'm sure that there have been many times when
you've needed to figure up some arithmetic calcula-
tions that have exceeded the maximum length your
computer will accurately display. And then, you end
up with an answer similar to 4.8374953E23. This is
the computer's (and most calculators') way of handling
these large numbers.
For those of us who have never seen this type of
representation, it's called scientific notation and, in
this example, it means 4-8374953 times 10 to the 23rd
power, or 483,749,530,000,000,000,000,000. All you
have to do is move the decimal point over twenty-
three places and put Os in the spaces.
It happens to be a very convenient way to handle
large numbers but, unfortunately, it's not accurate
toward the latter part of the number. Sure, the first
digits are accurate, but what about the last ones? How
it is possible to arrive at a 24-digit number that is
accurate to the final digit?. . .especially on computers
that give only JO-digit accuracy, not to mention hand
calculators?
Well, it is possible. One method, which I'm sure
many of you have tried at one time or another, is to
actually hand multiply (gasp!) the equation. And how
many out there are that sure of their multiplication
of these numbers that they need never go back and
recheck their work? So you really end up multiplying
the two numbers twice.
%Jf
Another method.
An easier way is to multiply the two numbers in
segments that will not surpass the computer's readout.
Here is an example.
Presume that you want to multiply two 8 -digit num-
bers accurately to the last digit. We'll let the two num-
bers be 86273482 and 54856358. First, let's set these
up as we would a multiplication problem.
86273482
54856358
There is the equation. I'll perform this as if the com-
puter or calculator has only an 8-digit display. It must
be agreed by all that an n-digit number multiplied
by an m-digit number yields a number that is n times
m digits long (or n times m minus 1, if the numbers
don't carry over).
To clarify, a 4-digit number times a 5 -digit number
will produce a 9-digit number at most or, perhaps,
an 8-digit number if the multiplication doesn't carry
over into the ninth digit. Try it if you're having dif-
ficulty understanding.
Since we've seen that a 4- and a 5 -digit number
yield a result that's already over the 8-digit limit, we'll
set our working limits to 4-digit segments.
Let's rewrite the equation now, with periods separat-
ing the numbers into 4-digit components.
8627.3482
5485.6358
ISSUE 29
ANALOG COMPUTING
PAGE 31
It's easy from here on out. All we have to do is mul-
tiply the segments together while keeping track of
where to place them below the line.
First, multiply the two rightmost segments together.
So that's 6358 (from the lower number) times 3482
(from the upper number). That yields 22138556. Now,
we simply position it under the line.
8627,3482
5485.6458
2213.8556
As you can see, I'm going to leave the numbers un-
derneath separated by carets, also. Next, let's multi-
ply the lower right segment, 6358, times the upper
left one, 8627. This gives us 54850466. All we have
to do now is figure out where it goes. This isn't diffi-
cult, either.
When we multiplied 6358 times 8627, we were ac-
tually multiplying 6358 times 86270000. We left the
Os out of the equation, because our computer's dis-
play can hold only eight digits, supposedly. By elimi-
nating these Os temporarily, we are able to multiply
this accurately.
So now, for visibility's sake, and since we already
have the result figured up, let's put those Os back. We
take 54850466 and attach the four Os to the end, giv-
ing us 548504660000.
8627.3482
5485.6358
2213.8556
5485.0466.0000
Now let's multiply the lower left segment, 5485, by
the upper right segment, 3482. This yields 19098770.
And, just as I explained above, the lower number is
actually 34820000, so let's attach the Os to the end
of the resuk again. We get 190987700000.
8627.3482
5485.6358
2213.8556
5485.0466.0000
1909.8770.0000
For our last multiplication, we take 8627 times 5485
to arrive at 47319095. This time, though, both num-
bers have extra Os that we've ignored for the multipli-
cation. The two numbers are actually 86270000 and
54850000; the resuk is-gulp!— 4731909500000000.
We have to add all eight Os to the end of our result,
so the calculation will be correct. Let's place that into
our problem now.
8627.3482
5485.6358
2213.8556
5485.0466.0000
1909.8770.0000
4731.9095.0000.0000
(continued on next page)
FOR ATARI *400/800/1 200/600XL/800XL'
«^S^t s®ss
For ATARI 800XL, 600XL with 64k.
Replacement operating system to run the
vast majority of all ATARI software. No
translator or disk to load!
Proper RESET operation especially impor-
tant for programs like LETTER PERFECT,
DATA PERFECT, TEXT WIZARD, etc.
One touch access to extra RAM, all RAM.
One touch BASIC on.
Easy plug in installation.
NOW INCLUDES DUAL OPERATING
SYSTEM BOARD!
'Includes MacroMon XL which is an ex-
cellent, unique monitor for beginner and
pro alike— written especially for the BOSS.
$79.95 for 800XL/600XL with 64K*.
"^
Uen
acroware
PRinTUXS
An all machine language text,
graphics, mixed mode dump for EP-
SON, GEMINI, NEC, PROWRITER,
OKIDATA, M-T SPIRIT, 160L,
KXP-1090, DMP-80, ISD 480,
SEIKO/AXIOM GP550A.
Self booting can be used while pro-
gramming or even running other pro-
grams.
Works with or without BASIC,
ED/ASM, PILOT, LOGO. Calendar
generator. Horizontal format allows
text to be continued in same direction.
Change widths, height, center and
much more from the keyboard or your
program. Special handlers for PAINT,
Micro-Illustrator, LOGO, Micro-
painter, etc. Includes LISTER program
for inverted and special characters plus
demos and ideas. $29.95* 16K Disk-
All Interfaces.
diskwiz-ll
Fast and easy to use repair, edit, ex-
plore, dup, disk utility package. Single
load, single or double density. Special
printout capabilities.
Repair or change of linked DOS2 or
OSA-l-2 files, directories, dup
filenames. Fast searches, mapping, file
trace. Disassembler, speed check and
much more! Low priced, fast, easy,
and powerful! $29.95 16K Disk.
Send s.a.s.e. for update info.
'TERMS: U.S. funds; check or M.O.
add $2.50 shipping/handl-
ing add 6% CA- 6.5% LA
COUNTY add $3.00 for
C.O.D. No charge cards ac-
cepted add $2.50 foreign
orders normally out within
48 hours.
P.O. BOX 2205/REDONDO BEACH, CA 90278
(213) 376-4105
* Trademark of Atari, Inc.
CIRCLE #116 ON READER SERVICE CARD
PAGE 32
ANALOG COMPUTING
ISSUE 29
(continued from page 31)
Have you noticed that this is very similar to regu-
lar multiplication, except that we're doing groups of
digits instead of single digits?
Finally, all that's left to do is add up all the digits
as if this were a normal multiplication problem —
which it is, pretty much.
8627.3482
5485.6358
2213.8556
5485.0466.0000
1909.8770.0000
4731.9095.0000.0000
4732.6490,1449.8556
That's it. We now know that 86273482 multiplied
by 54856358 equals 4,732,649,014,498,556, accurate
to sixteen decimal places. And, once you know what
to do, it isn't that difficult to accomplish.
Even better.
So where is all this leading us, you might ask. Well,
there is an easier method to multiply out these huge,
sometimes massive numbers.
Oh, no! Another lecture! Ah, but this example will
be short. Just type in Listing 1, NUMMULTR (re-
member to SAVE it) and RUN it. At the prompts,
enter both numbers to be multiplied and let the com-
puter do the rest.
When it has finished its computations, it will print
the answer — accurate to the last digit. It will only ac-
cept three lines of input, which limits your numbers
to 119 digits each, giving a result 237 or 238 digits
long. But, for most, this will be enough.
For equations that need more, you'll have to write
up a routine for inputting additional digits with more
prompts, plus you must dimension the strings A$ and
B$ to higher values. The maximum number of digits
that the final result can be will depend on how much
memory you have. With the 48K Atari 800, the max-
imum is about 28000 digits.
Listing 2 is similar in nature. It's useful for the many
times that you've needed to simply double numbers
into infinity. Entitled NUMDUBLR, it has the abili-
ty to (beginning with 1) double itself until it is a
2 8000 -digit (or more) number.
This program works by placing a J in the very last
position of a string and then doubling the contents
of the string, one character at a time, from the end
of the string to the beginning. It pulls each digit out
of the string, doubles it, checks to see if there is a
carry, and then places the result back into the same
string.
It does have an added routine that's necessary to
check if a i is carried over to a 9. If so, then it will
WHAT IS
CHECKSUM DATA?
Most program listings in ANALOG Computing are followed by a table of numbers appearing as
DATA statements, called "CHECKSUM DATA." These numbers are to be used in conjunction with
D:CHECK and C:CHECK (which appeared in ANALOG Computing issue 16 and the ANALOG
Compendium) or with Unicheck (from issue 24).
D:CHECK and C:CHECK (written by Istvan Mohos.and Tom Hudson) and Unichecl< (by Tom
Hudson) are designed to find and correct typing errors when readers are entering programs from
the magazine. For those readers who would like copies of these articles, you may send for back
issue 16 or 24 ($4.00 each) or the ANALOG Compendium ($14.95 plus $2.00 shipping and han-
dling from:
ANALOG Computing
P. O. Box 61 5
Holmes, PA 19045
ISSUE 29
ANALOG COMPUTING
PAGE 33
continue to check to see if it carries over to any more
9s.
Ad infinitum (or close).
And that's it. You can now amaze your friends by
performing calculations more immense (almost) than
can be imagined. D
Listing 1.
leO DIM A$C119},B$fll9),T$0)
110 INPUT A$,B$
128 A=LENCA5) :B=LENCB$) :5=A+B
130 DIM 55 C5)
140 SS="8" : 5S CSJ ="0" : 55 C2J =55
ISO A1=A-S:IF AKI then A1=1
160 B1=B-3:IF BKl THEN Bl=l
170 T3UAL f A5 CAl , A] )«UAL CB5 CBl , B) )
180 T5=5TR5CT> :T=LENCT5J
190 T5=5TRS CVAL f T5J +VAL C55 C5-T+1 , 5J J J
288 K=l:IF LENCT5]>T THEN K=2
218 55C5-T+1,5J=T5CKJ
228 IF K=l THEN 288
238 K=8
248 C=8:U=VALt55C5-T-K,5-T-K>}+l
258 IF W=18 THEN V=8:C=1
268 55C5-T-K,5-T-K)=5TR5CV}
278 IF C=l THEN K=K+1:G0T0 248
288 IF B1>1 THEN B=B-4 : 5=5-4 : GOTO 168
290 IF A=l THEN ? "Answer: ";55:END
388 B=LENfB5) :A=A-4
318 5=LENC55)-LEN(A5)+A:G0T0 158
CHECKSUM DATA.
(see page 32)
188 DATA 84,88,553,795,105,645,657,991
,248,795,643,888,539,212,902,8857
250 DATA 188,658,836,860,824,620,967,4
873
Listing 2.
18 REM C=fMAKIHUM OF MEMORY MINU5 58)
28 REM DELETE ALL REM5 BEFORE ? FREC8}
38 REM TO FIND MAXIMUM MEMORY
35 C=FRECe)-5e:IF 032767 THEN C=32767
48 DIM A5CC) :A5="8":ASCC)="8":ASC2)=AS
:ASCC)="1":J=8:K=8
58 REM ENTIRE DOUBLING ROUTINE
68 FOR 1=0 TO J:A=2»WALtASCC-I,C-IJJ+K
:K=8:IF A<18 THEN 80
78 A=A-10:K=l:IF I=J THEN J=J+1:A5CC-I
-1,C-I-1)="1"
88 A5CC-I,C-I)=5TR5CA):NEXT I:K=8:? AS
CLENCA5]-J,LENCA53):IF J<=C THEN 68
CHECKSUM DATA.
(see page 32)
18 DATA 348,898,128,521,937,354,107,98
9,913,5179
«sssss=^
YOU CAN'T TELL
A DISK DRIVE
BY ITS COVER!!
WITH A HAPPY ENHANCEMENT INSTALLED THESE ARE
THE MOST POWERFUL DISK DRIVES FOR YOUR ATARI COMPUTER
WARP SPEED SOFTWARE DISK READING AND WRITING 500% FASTER
HAPPY BACKUP — Easy to use backup of even the most heavily protected disks
HAPPY COMPACTOR — Combines 8 disks into 1 disk with a menu
WARP SPEED DOS — Improved Atari DOS 2. OS with WARP SPEED reading & writing
SECTOR COPIER — Whole disk read, write and verify in 105 seconds
1050 ENHANCEMENT — Supports single, 1050 double, and true double density
810 ENHANCEMENT — Supports single density
SPECIAL SUGGESTED RETAIL PRICE: Get the HAPPY ENHANCEMENT 810 or 1050 version with the HAPPY BACKUP PROGRAM,
plus the multi drive HAPPY BACKUP PROGRAM, plus the HAPPY COMPACTOR PROGRAM, plus the HAPPY DRIVE DOS, plus the
HAPPY SECTOR COPY, all with WARP DRIVE SPEED, including our diagnostic, a $350.00 value for only $249.95. for a limited time only!
Price includes shipping by air mail to U.S.A. and Canada. Foreign orders add $10.00 and send an international money order payable through a
U.S.A. bank. California orders add $15.25 state sales tax. Cashiers check or money order for immediate shipment from stock. Personal checks require
2-3 weeks to clear. Cash COD available by phone order and charges will be added. No credit card orders accepted. ENHANCEMENTS for other
ATARI compatible drives coming soon, call for information. Specify 1050 or 810 ENHANCEMENT, all 1050s use the same ENHANCEMENT.
Please specify -H model for all 810 disk drives purchased new after February 1982, call for help in 810 ENHANCEMENT model selection. Dealers
now throughout the world, call for the number of the dealer closest to you. ATARI is a n^gisiered tiademark of Atari Comisuicv [nc.
HAPPY COMPUTERS, INC.
p. O. Box 1268 • Morgan Hill, California 95037 • (408) 779-3830
CIRCLE #117 ON READER SERVICE CARD
PAGE 34
ANALOG COMPUTING
ISSUE 29
^^m^^^
•ajgssKsf^
COMPATIBILITY
by Dwight Stanley
When Atari released their new XL line of comput-
ers, they gave us a tremendous gift, namely "upward
compatibility."" Contrary to the practice of some com-
puter manufacturers. Atari chose to recognize the re-
tail base of existing Atari owners. I'd like everyone
to stand up with me and applaud Atari on their in-
sight for this compatibility.
Hey! You're not standing. How come? You say you
know of a program that won't run on the XLs. You
say you're angry at Atari and that they let you down!
Now, wait just a minute — you're making me angry.
Why should I be? 1 own an 800 and have never
owned an XL. My ire is up because 1 believe that:
we have the best personal computer on the market;
Atari has, in fact, honored us in making the XLs com-
patible; and most problems of incompatibility are the
fault of programmers, not Atari. Do you realize that
Atari is one of the few personal computer manufac-
turers that has released documented source codes for
the Operating System and DOS?
Now, how do you feel? More pleased with Atari,
1 hope. In this article, I want to pass on some infor-
mation to make your machine language programming
compatible with the XLs.
I'm not a professional programmer, nor do I profess
to know all. However, by being an active computer
hobbyist for over four years on the Atari computers,
1 have gathered bits and pieces of information from
hundreds of magazines and books. From countless
hours of reading, I have found Atari's basic Rules of
Compatibility. They are:
(1) Respect all memory below page 7 ($0700),
and
(2) Make no illegal calls to the OS.
First, let me say that the majority of problems with
incompatible software is the result of sloppy program-
ming. I know of many programs that have made one
or two stupid jumps to the OS which aren't compat-
ible. I also know of many programs that abuse lower
memory and also wind up incompatible. So, what can
be done?. . .
ISSUE 29
ANALOG COMPUTING
PAGE 35
. . . with incompatible commercial software? You should
write to the manufacturer of the software and let them
know how you feel. Unless you speak up, you won't
be heard.
. . .with incompatible magazine software? I believe
magazines should be responsible for ensuring compati-
bility of their programs. Most magazines are young
and need a solid reader base. They will surely lose
out if they ignore the XLs.
. . . with incompatible public domain software? Take the
software to your user's group or club. Either with a
more experienced member or even the whole group,
look at the software. Find what is wrong, fix it and
then send a letter to your favorite magazine to help
others.
For budding machine language programmers, I sug-
gest you read the following and make sure you under-
stand it. Also, purchase a copy of the Atari Technical
Users Notes and/or De Re Atari. If you can gain just
one piece of information, they're well worth it.
When you make your program — and it works — take
it to a store, club or friend and try it on an XL. Don't
quit until it works. I guarantee you'll appreciate it!
I cannot stress how important it is to all of us that
we recognize the XLs and do all we can to help our
new brothers and sisters succeed. Each and every one
of us is responsible for the future of Atari and our
hobby. If we lose just one person who throws up their
hands and says, "Forget it — Atari isn't what it says
it is," then we all will suffer.
And, who knows . . . soon many new hardware and
software goodies for the XLs could leave us oldtime
400 and 800 owners in the incompatible cold.
Respect all memory below page 7 ($0700).
According to the Atari Technical Users Notes, page
addresses below $80 are reserved for computer use.
That leaves 128 bytes for your use, which should be
enough. If you need more of page 0, I suggest that
less frequently used variables be stored in higher ad-
dresses and moved to page when needed.
Although there may seem to be empty locations,
stay out; they may not be empty for long. Some pro-
grammers have used seemingly empty locations in
page 2 ($0200). Most of these locations are used in
the XLs. Stay out!
Even more locations seemed empty above the device
handlers in page 3 ($0300), but guess what? Ah, you
guessed! They're now used, too. Page 4 is still an in-
put buffer, and page 5 is still reserved.
Now, page 6. It's still reserved as a somewhat-free
RAM. However, use it only if needed. That still leaves
$0700 to $BFFF for your program. . .whew!
WHITE HOUSE
COMPUTER
Ask About Phone Rebates!
1-717-322-7700
P.O.BOX 4025 WILLIAMSPORT, PA 17701
DISK DRIVES
ATARI
Indus GT $259.00
1050 $169.95
COMMODORE
Indus GT $255.00
1541 $235.00
MSD DRIVES
Single MSD 1 $309.00
Dual MSD 2 $485.00
BLUE CHIP
100% Compatible
C-64 Disk Drive
Double Density $225.00
DISKETTES
SKC
SS/SD $11.95
SS/DD $14.95
DS/DD $18.95
MAXWELL
MD-l $18.95
MD-2 $23.95
ELEPHANT
SS/SD $14.95
SS/DD $16.95
DS/DD $21.95
INNOVATIVE
CONCEPTS
Flip-N-Hle (10) $3.50
Flip-N-File (15) $8.50
Flip-N-Fiie (25) $ 1 8.50
w/lock
Flip-N-File (50) $17.50
Flip-N-File (50) $23.50
w/lock
Flip-N-File $17.50
BOM Holder
WICO
Bat Handler Joystick ...$16.95
3-Way Deluxe $21.95
Boss $13.95
SOFTWARE
BRODERBUND
"ATARI"
Print Shop $31.95
Bank Street Writer $39.95
Spelunker $21 .75
Stealth $21.75
Loderunner $22.95
"C-64"
Print Shop $31.95
Bank Street Writer $37.95
Spelunker $21 .75
Stealth $21.75
Loderunner $22.95
BATTERIES INCLUDED
Paper Clip
w/Spell Pk $69.95
Paper Slip $59.00
Home Pack $32.95
Bus Card $137.95
Bl 80 Board $137.95
INTERFACES
MPP 1150 $64.75
Uprint N Port $59.00
Apple Dumpling GX $65.00
MPP 1 1 52 BuHer Kit ... $1 9.75
Microprint Economy Printer
Interface $49.95
Atari 850 $115.75
Cardco B $35.95
Cardco G $59.95
Micro Stutter 64K Printer
Buffer $105.00
Microram 64K Expansion
for Atari 600 XL $89.00
COMPUTERS
Atari 800 XL $119.00
Commodore C-64 $1 59.00
SX-64 $539.00
PRINTER PAPER
Lazoredge "500" $1 1 .75
• PRINTER RIBBONS
• DUST COVERS
PRINTERS
• HIGH LITED
PRINTERS
PANASONIC
1091 $265.00
1090 $209.00
1092 $415.00
1093 $650.00
3151 LQ $490.00
STAR MICRONICS
10X $225.00
1 5X $340.00
Delta 10 $335.00
Delta 15 $445.00
Radix 10 $495.00
Radix 15 $585.00
Powertype $309.00
LEGEND
880 $220.00
1080 $240.00
1200 $250.00
ATARI
1020 $59.00
1025 $189.00
1027 $239.00
COMMODORE
1526 $259.00
CARDCO
LQ 1 $435.00
LQ 3 $309.00
OKI DATA
Okidata 92 $349.95
Image Writer $425.00
Okimate 10 $179.95
JUKI
6100 $379.00
CITOH
8510 $285.00
BLUE CHIP
Ml 201 C-64 $259.00
MONITORS
GORILLA
Green $78.95
Amber $84.95
ZENITH
122 $85.95
123 $75.95
AMDEK
300 Green $1 35.(X)
300 Amber $145.00
Color 300 $250.00
XTRON
Comcolor 1 1 4" Composite &
Separate Video $2 1 5.00
AA 12X Apple Amber
All 12X series are hi-res w/Tllt
and Swivel Base $99.00
AG 1 2X Apple Green . . . $95.00
IG 12X
IB.M. Green $110.00
lA 12X
IB.M. Amber $120.00
1 702 Commodore $239.00
TEKNIKA
MJ-IO Composite and
separate video $235.00
MJ-22 R.G.G. Composite and
separate video $289.00
KOALA
"ATARI" & "C-64"
Koala Pads $49.95
MODEMS
Mighty Mo
with Software $79.95
Telecommunications. . . $69.95
Westridge $79.95
Hayes 300 $1 99.00
Hayes 1 200 $469.00
MPPl OOOC $99.75
Apple Cat II $265.00
CompuServe $24.50
WE CARRY A FULL LINE
OF: Batteries Inc., Broderbund.
Contineal. Hess, Infocom, Inno-
vative Concepts. Koala, LJK, Mi-
crobits. Micropose, Microtek,
O.S.S., Professional S.W., Scar-
tX)rough, S.S.I., Synapse, Time
Woriis, Wico - For the ATARI.
APPLE & C-64.
POLICY: No deposit on
COD orders. FREE freight
on all prepaid cash orders
over $300.00 in the contin-
ental U.S. APO & FPO add
$5.00 per hundred. For pri-
ority mail add $8.00 per hun-
dred. PA Residents add 6%
sales tax Defective products
must have Prior RA number.
Schools net 1 5.
'IF YOU WANT IT-
• Dealers Inquiries Invited • WE HAVE IT AT THE LOWEST POSSIBLE PRICES"
HOURS: Monday thru Friday - 9:00 am till 6:00 pm - Saturday 9:00 am till 3:00 pm EST - VISA and MC Accepted 4% -
CIRCLE #118 ON READER SERVICE CARD
PAGE 36
ANALOG COMPUTING
ISSUE 29
Make no illegal calls to the OS.
If you see a routine in the OS that you just have
to use, my best advice is to rewrite the code in your
program. I've seen many programs, even in magazines,
go bye-bye on the XL for less than 20 bytes. Those
could have easily been included by the programmer.
Less than 20 bytes'. What difference could that he in
your program?
That doesn't mean you can't use the OS to help
your program; just do it right. Below I'll explain how.
Please make sure you understand it.
There are many vectors into the OS. A vector is
an address guaranteed not to change. So far, none
have. There are two types of vectors, and both are
easy to use.
The first group is straight jump vectors. You can
simply jump to the vector, and it will jump to the
appropriate code. For example:
LDfl «S05
;This could be
5Tfl THIS
jyour code
JMP SE477
;Go do coldstart
Control will be passed to different locations on the
old 800s than it will on the XLs, but we don't have
to care.
Some examples of jump vectors are:
disk interface
central input-output vector
serial input-output vector
routine for setting VBI
vectors
VBI routine vector
warmstart vector
coldstart vector
exit VBI vector
The second set of usable guaranteed vectors is the
device handler routines. These may be used to get
a key from the keyboard or to print a letter to the
screen, etc.
All handlers are 16 bytes ($10) in length and start
at $E400. Each handler has eight entries in the fol-
lowing order:
DISKINV
$E453
CIOV
$E456
SIOV
$E459
SETVBV
$E45C
SYSBVB
$E45F
WARMSV $E474
COLDSV
$E477
XITVBV
$E462
$E400 - $E401
$E402 - $E403
$E404 - $E405
$E406 - $E407
$E408 - $E409
$E40A - $E40B
$E40C - $E40E
$E40F
Above is the
vice. The base
follows:
E: - $E400
S: - $E410
K: - $E420
P: - $E430
C: - $E440
OPEN VECTOR
CLOSE VECTOR
GETBYTE VECTOR
PUTBYTE VECTOR
GETSTAT VECTOR
SPECIAL VECTOR
INIT VECTOR (JUMP)
FILLER BYTE
ROM location for the (E:) editor de-
addresses for other handlers are as
Editor device
Screen device
Keyboard device
Printer device
Cassette device
Okay? Now, the method of using these vectors that
I'll show you still isn't the proper way of doing things,
but it will make your programs XL-compatible, so it's
better than illegal jumps to the OS.
An example of use would be in a situation where
you wish to get a key from the keyboard. The base
address is $E420, and the GETBYTE routine is +$04.
So we'll use the vector at $E424 - $E425. The key
pressed will be returned in the A register.
10
28
30
40
50
60
70
100
110
120
130
140
150
160
170
;This would be your progran
;code and we want to go get a key
JSR GET. KEY
BRK
GET. KEY
LDA $E425
PHA
LDA $E424
PHA
RT5
;your code would
;continue here
;This routine prepares
;to JUMP into the O.S.
;by loading vectors
;on the stack to jump
;NOH GOTO 0.5. vector!
;this will return to
;your code at line 50
Please note the GETKEY subroutine. This loads
the vectored address into the stack, and when the pro-
gram gets to the return from subroutine, it "returns"
to the appropriate code in the OS. When the OS rou-
tine issues a return from subroutine, control is passed
back to your program. If it doesn't make sense, con-
sider the following BASIC routine:
10 GOSUB 100;
20 5T0P
100 GOSUB O.S.
110 RETURN
REM get. key
This is exactly what happens in the machine lan-
guage code and is intended only to clarify the rou-
tine. These vectors are best used from the machine
language level only.
Other uses would be to get a key from the E: device
(editor), or put a byte to the E: device. You could also
put or get a byte from the S: device (screen), or put
a byte to the P: device (printer). All of these uses pass
information using the A register.
I've seen all of these locations improperly used,
where the above method of using the vectors would
have made the program XL-compatible.
ATASCII conversion, etc.
A few other notes before I finish. I've seen programs
use an OS table which is located at $FEFE on the
old 800s for ATASCII conversion. Once again, these
programs do not function properly on the XLs, be-
cause this table has been moved.
Now, this table is 192 bytes long, so I could see why
a programmer wouldn't like typing this into his work.
However, if it had been included, there would be no
worries of incompatibility. Atari has recognized the
need for a vector for this table and has included it
on the XLs as a pointer in $79-$7A.
This means that programs which used codes like
CMP $FEFEX can be written as CMP ($79)X. A rou-
tine may be added to see if the addresses in $79 and
$7 A are zero (as in an 800) and, if they are, then stuff
ISSUE 29
ANALOG COMPUTING
PAGE 37
$FE in both addresses. This program would run on
either machine.
The last tidbit I've found is a way to load a small
machine language program from cassette (magazine
programs, for example) on the XLs, without having
control passed to BASIC. You don't have to hold the
OPTION key, only the START key. This header will
not remove BASIC, but control will be passed to the
tape program and co-reside with BASIC in 40K.
le
LOCATION
?fl
.BYTE
30
.BYTE 5IZE Jtt Of 128 byte blOCKS
40
.MORD LOCATION
50
.HORD INIT
60
J>
70
LDA
ttO
80
STA
»$06
?0
STA
11507
100
LDA
tt<START
110
STA
$0A
1?0
STA
$0C
130
LDA
tt>START
140
STA
$0B
150
STA
$eD
160
CLC
170
INIT
180
RTS
190
200
START
210
; PrograM continues
220
; froM here on
So there it is, in a nutshell. I hope you'll make a
serious effort to support the XLs and Atari. D
(ALMOST)
FREE
CLUES:
If you've ever been stuck in an adventure game, you need
The Book of Adventure Games by Kim Schuette. This
fantastic book contains complete legible (typeset) maps,
magnificent illustrations, and all the hints you need to
complete 77 of the all-time most popular adventure games
including Zork I, II, III, Deadline, Starcross, Witness,
Planetfall, Enchanter, Sorcerer, Infidel, Suspended (with
map). Wizardry, Knight of Diamonds, Legacy of
Llylgamyn, All Scott Adams, All Sierra On-Line Including
Time Zone, Ultima I, II, III and many more! Best of all, the
book doesn't spoil your fun! At about 25<i: an adventure, it's
the biggest bargain around. So stop getting ripped off by
$10 cluebooks and call:
1-(a00)-821-5226 Ext. 500
24 hrs. a day, 7 days a week
or write:
Witt's End
42 Morehouse Rd., Dept. 9
Easton, CT 06612
Free UPS shipping. Add $3.00 lor C.O.D. APO's FPO's o.k. Add
$5.00 lor foreign shipping. No charge for credit cards. We accept
Visa/Mastercard, Personal Checl< (allow 2 ivee/ts (o clear), Certified
Checif or money order.
Ail Trademarifs are acknowledged.
CIRCLE #119 ON READER SERVICE CARD
^^^^ I^M
The Celebmtion Continues.
At a new, low price. We're celebrating PQ's 4 star ratings and you're invited to share
the excitement.
InloWorld Magazine said ol Party Quiz: "Perhaps the most elegant product comes
Irom Suncom. " Match wits with friends (up to 7 of themi,
or play alone with the first truly social, truly
involving computer entertainment sfstem.
Each package includes 4 controllers and
2500 questions, expandable to over ^ f
18,000 with the optional Question ' ' I
Library. 'r^i>^
Call today (toll-free/ J/
1800-323-8341 to find \^ '
PO near you. \ /'
m
i3P3,,f
)^
w
•^A
"CLUDES
SRS
■^^4
* t: San Francisco Chronicle
* ■« * s Family Computing Magazine
he Party Quii o^/7/^___
Hardware & Software Entertainment System for Apple Ifseifes, Commodore 64 & Atari Computers
MOr Wtieeling, IL BOO 90
1-8341 IIL 1 -312-459-80001
CIRCLE #120 ON READER SERVICE CARD
PAGE 38
ANALOG COMPUTING
ISSUE 29
DRAGONLORD
by Clayton Walnum
It was bound to happen sooner or later. The reports
had been coming in from all over the countryside. . .
livestock slaughtered, homes burned, princesses kid-
napped. But the most horrifying tales of all, those that
left one numb with shock, told of the near extinction
of blueberry pie. From town after town came ghastly
accounts of the mouth-watering treats being snatched
from windows ills as fast as they were set out to cool.
The county was in an uproar.
And now the dragon had come to Dellwood.
The mayor tapped a finger thoughtfully on his fore-
head and tried to keep a smile frozen on his lips. All
around him, angry citizens stomped and frowned.
"I lost two prize cattle!" bellowed Babbit Costowitz.
"My barn burned to the ground!" yelled Loodchuck
Allison.
"My hens stopped layin'," moaned Chip Monk.
"And I ain't makin no more blueberry pies!!" screamed
Widow Taccoon. The town hall plunged into silence
so suddenly that the windows rattled in their frames.
No more blueberry pie?
"Can't help it," mumbled the widow, acutely aware
of all the horrified eyes focused on her. "He keeps
stealin 'em!"
All attention turned to the mayor. He stood, still
smiling, his demeanor confident. The people visibly
relaxed. Here was a great leader of men. Here was
the town guardian, unwavering in strength, unsur-
passed in courage, a veritable fount of knowledge. He
gazed into his people's hopeful faces and spoke pro-
found words of wisdom and encouragement.
"I. . .uh. . .well. . .hmmmmmm. . .Any suggestions?"
"Call the Dragonlord!" they yelled in unison.
"Uh. . .oh, yes. . .of course!. . .Hmmmmmm."
It wasn't too long before the Dragonlord arrived
in Dellwood with nothing but the armor on his back,
a skin of spring water and a week's supply of blue-
berry pie. Within the hour, he was standing with the
mayor in Babbit Costowitz's meadow examining a
rather large mound of dragonflop.
"Yep, you got yourself a big'un here," he said as he
tucked away his tape measure. "Judging by the size
of this, I'd say. . ."
But the mayor wasn't listening. His attention was
fixed on a huge object that was plummeting from the
sky at an alarming rate. "Good grief! It's the dr...
dr...dr...dr..."
"Dragon," finished the hero, while helping the poor
ISSUE 29
ANALOG COMPUTING
PAGE 39
man reclose his jaw. "Don't you worry. I've got quite
a reputation. Most dragons would rather just buzz off
than tangle with me."
He strode to where the colossal beast was settling
to the ground amidst a whirlwind of dust and straw,
and looked up into its emerald, catlike eyes. "Say, why
don't you just get lost before I have to get rough with
you.'
"Hal" snorted the dragon.
Of course, you know what happens when a dragon
snorts. It took the village blacksmith three days to
peel off the Dragonlord's welded armor.
"The doc said it will take a month for your burns
to heal," said the mayor.
"I can live with that," said the Dragonlord.
"Your armor is completely ruined."
"I can live with that."
"Every hair on your body has been burned off."
"I can live with that."
"He took your blueberry pie."
"What? Why, that confounded dr. . .dr. . .dr. . .dr. . ."
"Dragon," finished the mayor, not unsarcastically,
while helping the fried hero reclose his jaw.
But Dragonlords are tough. With sixty gold pieces
from the town treasury, he soon set off to shop for
supplies. He was going dr. . .dr. . .dr. . .dr. . .
(Dragon!)
(Thanks.)
...dragon hunting.
Playing Dragonlord.
Dragonlord is a fantasy adventure board
game for one player. The object is to find the
dragon in the dungeon maze, then capture
him. You must manage to stay alive, of course.
To do this, you mustn't allow your hit points
or strength to drop to zero. You must
make sure that you have plenty of pie
to eat, and you must fight and slay the
many ores that will try to keep you
from your goal.
Throughout the dungeon you will
discover spells, serums, treasures and
teleporter devices. There is also a thief
who is more than happy to take advan-
tage of unwary adventurers, lb capture the
dragon, you must tame him with the magi-
cal dragon brew you can purchase in the
store. If you stumble upon the dragon without
having the brew, he'll kill you instantly.
The status screen.
After you enter your character's name, the status
screen will appear. The top left portion of the screen
shows the number of hit points, strength and pie
remaining. At the bottom left, you'll see your cur-
rent room and all available exits. The top right
displays the number of spells, serums and gold
pieces you're carrying. The small window at
the bottom right indicates if you are carrying
dragon brew. It will turn blue when you have pur-
chased the concoction.
At the bottom center is the command window. Use
the joystick to move the cursor, then press the trig-
ger to finalize your choice.
Movement.
When you choose MOVE, the four main compass
directions will ap-
pear in the com-
mand window. Use
the joystick to pick
the desired direc-
tion, then press the
trigger. The screen
will change to show
the room you have
moved to, as well as
any item you may
have found. Dragonlord.
If there's an ore in the room, a scoreboard will be
drawn and a die will start rolling. When you press
your trigger, the die will stop and your score will ap-
pear. The score is based on the roll of the die, your
weapon and your strength.
A second die will then appear. This is the ore's at-
tack. The computer will stop this die and show the
ore's score. One to five hit points are subtracted from
the loser's score. Note that, each time you roll, one
LOTSABYTES CONTINUES THE WAR !
WAR on high prices ! We're going to put an end to the software price 'ripoff. And YOU
can help ' Just l<eep those orders coming while you continue to enjoy the quality,
quantity, selection and low prices that you deserve. Our National Public Domain Copy
Service w/ill save you time, tedious work, and money. And our exclusive distribution of
sharply discounted commercial programs will bring you some of the finest programs for
the lowest possible price, usually 50% and more off retail! You continue to get FREE
BONLISES with each purchase of three or more disl<s
P//R/ in
DOMAIN SO
#3
FTWARF
#1 1
#2
#4
#5
GAMES
UTILITIES
AMS MUSIC
GAMES
EDUCATION
Two full disl<
25 powerful
25 Advanced
All different !
Loaded with
sides packed
programs to
Musicsystem
14 m'ore
28 programs
with over
help you get
files including
better games
on 2 disk sides
25 games
the most out of
a new Player
on 2 disk
Fun learning
including some
your Atari
program.
sides. Some
for the whole
Arcade quality.
computer.
2 sides.
Arcade types.
family
S7.95
$7.95
$7.95
$7.95
$7.95
#6
#7
#8
#9
#10
AMS MUSIC
GAMES
UTILITIES
GAMES
UTILITIES
25 all-time
Two disk sides
17 more
Two full sides
A new
favorites
packed with
power-packed
filled with
assortment
with a
14 more
utilities to
17 of the
of 17 great
Player
great games.
help unleash
best and
and powerful
program.
Some
full potential
most recent.
programs
Two sides.
Arcade types.
of your Atari.
Some Arcade.
Don't miss it !
$7.95
$7.95
$7.95
$7.95
$7.95
#11
#12
#13
#14
#15
GAMES
ADVENTURES
EDUCATION
AMS MUSIC
UTILITIES
NEW!
NEW !
NEW !
NEW!
NEW'
Our newest.
2 full disk
2 disk sides
2 sides
Another
2 sides
sides
filled with
filled with
assortment
filled with
filled with
something
great music
of fine
great games.
text
for
and a player
programs.
adventures.
everyone.
program.
Not to be missed.
$7.95
$7.95
$7.95
$7.95
$7.95
LotsaBytes
EXCLUSIVES
ADVANCED
MUSICSYSTEM II
by LEE ACTOR
Allows you to create music
with your Atari computer!
All new machine code.
* Control over pitch
duration, envelope
dynamic level, meter,
tempo and key.
* 4 independent voices
* 5'.' octaves per voice
* Save up to 8200 notes
* Custom DOS
' FULL instructions
* 24K disk
Originally $29.95 Only $14.95
ORIGINAL ADVENTURE
by Bob Howell
For all Atari computers.
The Original
Colossal Cave
Adventure faithfully
reproduced from the
main-frames'
This is the one
that launched the whole
Adventure craze of today'
* Two mazes
* 130 rooms
* Deadly Dragons
" Nasty Dwarves
* Tenacious Troll
■ The Pirate & IVlore!
' 86 coded hints
* SAVE/RESUME
* 40K disk or 32K tape
Originally S24.95 Only $14.95
QUALITY WORD PROCESSING
ESI WRITER! At last a brand-new Word Processor
that has more features and is easier to use than
anything else available for the Atari. Easy for the
beginner to use, it asks questions and remembers
the answers. ESI WRITER is so sophisticated that it
has many more features we don't even have room to
mention ! Works with ANY Atari.
* Reads any text file * Built in Help screen
* Very fast ! * Works with ANY printer
• Instant top. bottom or text location
without scrolling!
* Every printer feature * DISK ONLY (Any Atari)
* Search and replace * Block move text
•Page eject/start * Set margins/lines etc.
"Full justification * Print headers etc.
* Block delete etc. * Change video color
' Over 50 pages of docs and tutorials
TRUST US ON THIS ONE' YOU WILL LOVE IT!
Originally $49.95 LotsaBytes price $19.95
* * FREE BONUSES ' '
Now for each 3 disks ordered
you may choose any 1 of the following disks
FREE!!
... buy 3 - get 1, buy 6 - get 2, buy 9 get 3 ...
a. The Atari XL TRANSLATOR DISK
that enables XL owners to use most
400/800 software. FREE ! !
— or —
b. An all different AfvIS MUSIC disk
with Player. FREE!!
—or —
c. Your choice of one of the P.D. disks —
#1, #2, #3, #4, #5, #6, #7, #8,
#9. or #10 (specify one) FREE!!
MUSIC MAJOR !
Learn the basics of music with this light-
hearted but very thorough approach.
Covering such topics as note recognition,
key signatures, note counting, and much
more, it is designed for use by both the
individual student and music class.
This program includes a thoroughly
illustrated manual and offers a QUIZ
fvlASTER utility that allows the teacher or
the self-taught student to create their own
A-B-C-D type tests, with a sample quiz
included.
Originally $39.95 Only S14.95
GREAT GAMES!
SPACE GAMES: Three games for one low
price'. In Aliens you can't get them all and
the pace keeps getting faster. When you
do gel rid of most of them, you are left in a
space quadrant peppered with mines. Will
you Survive? If you do, you must
penetrate the alien's spaceship, survive a
Robot Attack, and get back your stolen
cloaking' device! Interested?
S24.95 list LotsaBytes price: S9.95
THE BEAN MACHINE by Steve Robinson
is an Award Winning Arcade game that
will drive you crazy balancing a series of
beams while trying to get ail the beans to
roll down, without touching, all the while
avoiding strange creatures' who drop in
to steal the beans. It's addicting!
$24.95 list LotsaBytes price: $9.95
DIGGERBONK, another Award Winning
game by Steve Robinson, challenges you
to find your way through a continuously
scrolling maze while avoiding some really
strange creatures. Along the way you will
need to Bonk some of them, but watch out
for the bombs.
$24.95 list LotsaBytes price: $9.95
GUESS WHAT'S COMING TO DINNER
lets you try to manuever a snake through 7
levels if you can keep it from starving or
being electrocuted. Lots of surprises' One
or two players.
$24.95 list LotsaBytes price: S9.95
CREATIVE LEARNING
ADVENTURES
Ages 4 to 10 — Disli only
1. Hours of educational fun playing 3
exciting creative adventures with a
friendly alien learning about our planet
Earth. Hand/eye co-ordination, drawing,
and music skills are emphasized.
S24.95 list LotsaBytes price: $12.95
2. Four challenging learning games that
are the favorites of our friendly alien
Helps your child to develop logical
reasoning ability.
$24.94 list LotsaBytes price: $12.95
3. These 3 Fun-Day learning games will
help with intellectual development,
hand/eye co-ordination, logic, spatial,
and analytical abilities.
$24.95 list LotsaBytes price: $12.95
LotsaBytes
Full 100". Replacement guaranlee.Any disk found lo be defective will be replaced free and we wil! also refund
your return postage. All orders shipped by First Class U.S. Mail. Add SI .95 shipping and handling for 1 to 5 disks.
Add S2.95 lor 6 to 12 disks. California residents add 6"^ sales tax. Outside ol U.S.A. and Canada add 15°.. U.S-
Funds only. We accept checks or Money Orders. Sorry, no COD or Charge Cards. Allow three weeks for personal
checks to clear.
15445 Ventura Blvd., Suite 10H, Sherman Oaks, CA 91413
At. in lb. -.",■ r,H]ii,lrri'il h ,i(.k'ri1.ii k of Al.iri Cotp
CIRCLE #122 ON READER SERVICE CARD
ISSUE 29
ANALOG COMPUTING
PAGE 41
strength point is lost. There's no way to avoid a bat-
tle. You must fight to the death. Each time you kill
an ore, you will find some gold.
If you happen upon a teleporter, you'll be magical-
ly moved to a randomly-selected room. If you don't
have the dragon brew, there is a one in eight chance
that the selected room will contain the dragon. And,
if you stumble upon the dragon without the brew,
you'll find yourself in a very hot situation.
If you bump into the thief, he will steal half your
gold.
Besides the above, you may find gold, spells or se-
rums. Serums, when taken, restore a portion of your
strength points. Whenever your strength falls below
twenty, you will automatically drink one (if you have
any on hand).
Each time you move, you lose one strength point.
All items are placed randomly throughout the dun-
geon each time you start a new game, and will not
move as you play. When you enter a room, you'll
either pick up any object there or begin the neces-
sary action. When you leave a room, it will be emp-
ty. The only exceptions are the teleport rooms. You
will be teleported each time you enter one, even if
you've already been there before. When you enter an
"empty" room, there is a one in four chance that an
ore will follow you.
Casting spells.
Casting a spell allows you to move instantly to any
room of your choice, with no decrease in strength.
If you choose the CAST command (assuming that you
have at least one spell), a number will appear in the
command window. Use the joystick to increase or de-
crease the number. When the room number you want
appears, press the trigger. You will be magically tele-
ported there.
Note that there are seven rows of eleven rooms
each. The rooms are numbered from left to right,
starting with room number one in the upper left and
ending with room number seventy-seven in the lower
right.
The map.
When you are not sure of your whereabouts, or
would like to see the rooms you've searched, use the
MAP command. Viewing the map is a "free" com-
mand. It doesn't decrease your strength. When you
are through with the map, press the trigger. You will
return to the status screen.
Spending your gold.
The first thing you should do at the beginning of
a game is hightail it to the store. Without purchas-
ing at least some pie, you won't last very long in the
(continued on next page)
for the ATARI 800 or XL
Cut your programming time from hours to seconds, and tiave 33
direct mode commands and functions. Ali at your fingertips and
aii made easy by ttie tvlGNKEY WRENCH il.
The MONKEY WRENCH il plugs easily into the cartridge slot of your
ATARI and works with the ATARI BASIC.
Order your MONKEY WRENCH II today and enjoy the conveniences
of these 33 features:
• Line numbering
• Renumbering basic line numbers
• Deletion of line numbers
Variable and current value
display
Location of every string
occurrence
String exchange
Ivtove lines
Copy lines
Up and down scrolling of
basic programs
• Special line formats and
page numbering
• Disk directory display
• Ivlorgins change
• Home key functions
• Cursor exchange
• Uppercase lock
• Hex conversion
• Decimal conversion
• fvlochine language monitor
• DOS functions
• Function l(eys
The MONKEY WRENCH II also contains a machine language monitor
with 16 commands that can be used to interact with tOO OH
the powerful featuresot the 6502 microprocessor 9^7.70
Have You Kissed
Your Atari Lately?
Introducing "KISS", a new, simpler,
more powerful Word Formatter/Processor
for your Atari 800, 600XL, and 800XL
"KISS" comes \n a cartridge, and is designed for the occa-
sional user, yet simple enough for beginners and children.
It comes with an easy to read manual, that contains example
text files. Check out these other "KISS" features:
Input of text is via standard
ATARI screen editor - so
there is nothing new to learn
Only 13 commands to
process text
Text can be sent to screen
or printer
Single page or fan-folded
paper can be used by
printer
• Prints English error messages
• The "KISS" cartridge does not
have to be installed in order
to input text information
• Automatic page numbering
on output
• Text can be justified to both
the left and right morgins
• Can be used lor letters, reports,
term papers, etc.
KISS^
Call us today for your "KISS" Only $19.95
3239 Linda Dr.
Winston-Salem, N.C. 27106
(919)748-8446
Send for free catalog!
CIRCLE #121 ON READER SERVICE CARD
PAGE 42
ANALOG COMPUTING
ISSUE 29
dungeons. You should be aware, however, that every
trip to the store will cost you two strength points.
When you get to the store, you'll see a message
scroll across the top of the screen. If you're lucky,
there will be a sale in progress! Press the trigger, and
the store menu will appear. Choose the department
you want. The items available in that department will
then appear.
Make your selection and press the trigger. The cost
of the item will be subtracted from your gold. The
gold you have remaining will appear briefly above the
menu window. You may now buy something else or
exit the store.
In the magic department, you may purchase spells
or dragon brew, or take a trip to see the gypsy. The
gypsy will give you a directional clue — your position
relative to that of the dragon. This will not only help
you find the dragon, but will make it easier to avoid
until you can afford the brew.
The health department sells pie, lodging and medi-
cal assistance. You need pie to keep up your strength;
if it runs out, your strength points will decrease twice
as fast. An alarm will warn you when the pie is gone.
If you wish to restore some of your strength, you
may take lodging for the night. Td restore hit points,
go see the doctor.
In the weapons department, you may purchase a
dagger, a short sword or a long sword. The dagger will
add one point to your attack score; the short sword
will add two; and the long sword will add three. You
can carry only one weapon at a time.
You may exit a department without making a pur-
chase by choosing the EXIT command. When you
are finished shopping, you leave the store in the same
way.
Ending the game.
Dragonlord is over either when you capture the dra-
gon or when you're dead, at which time you'll see your
score. You get one point for each move, two points
for finding a useful item, five points for killing an ore
and one hundred points for capturing the dragon. If
you captured the dragon, you will also be awarded
bonus points based on the number of moves you made.
The fewer the moves, the higher the bonus.
Now, go forth and slay the dragon. D
BASIC listing.
DR<:)GONLORD
1 REM __^
2 REH by Clayton HalnuM
3 REH
18 Ml=l : N2=2 : M3=3 : H4=4 : M5=5 : N6=6 : 117=7 :
M8=8:N9=:9:H10=10
28 Mll=ll : m2=12 : 1113=13 : N14=14 : M15=15 :
M16=16 : H17=17 : H18=18 : H19=19 : N28=2e : H21
=21:M77=77:G0T0 2268
38 RESTORE :FOR X=N8 TO 27: READ fi:POKE
ADRCR$)+N1+K,A:NEKT K
48 FOR X=CHBA5E+2e4 TO CHBA5E+479 :READ
A : POKE X A: NEXT X
58 FOR X=CHBA5E+128 TO CHBA5E+2e7 : READ
A: POKE X, A: NEXT X
68 FOR X=CHBA5E+24 TO CHBA5E+183:READ
A ! POKE X A! NEXT X
78 FOR X=CHBASE+216 TO CHBASE+223 : READ
A: POKE H, A: NEXT X
88 FOR X=:N1 TO N77:READ A :RMCX}=A :I CX)
=Ne:IMEHT K:IC39J=N7
98 READ A: IF A=-N1 THEN 3838
188 X=INTCRND(N8)»N77)4^Nl:IF ICX) THEN
188
lie IF A=N1 THEM DR=X
128 ICX}=:A:GOTO 98
138 R00M=INTCRNDCN8)«N77)+N1:IF NOT B
THEN X=INTCRNDCN8)«NS)+Nl:IF X=N1 THE
N ROOM=DR
148 FOR X=N1 TO N5:F0R Y=N8 TO N16:S0U
ND N8,Y*N2,Y,N4:P0KE 788, Y»N18 :FOR A=N
1 TO N5:NEXT A:NEXT Y:HEXT X
158 POKE 559,N8:S0UND N8,N8,N8,Ne :GOTO
958
168 50UND N8,N18,N12,N8:F0R X=N1 TO N2
e:NEXT X:SOUND N0,N8,Ne, NBlRETURN
178 SOUND N8,iee,N12,N8:F0R X=N1 TO 18
0:NEXT XiSOUND NO, NS, N8, N8 : RETURN
188 RT=RMCR) : COL= (R-IHT (R/H11)»N11)«N3
:IF INTCR/N11)=R/N11 THEN C0L=33
198 HOM=INTCR<^N113»N3llIF INT tR/Nll)=R/
Nil THEN R0M=R0U-N3
288 RETURN
218 R=R00M:G05UB ROOMPOS : C=COL :RM=ROH:
r=dr:gosub roompos: position 34,n14:q=n
8:d=no
228 Q=N1«(C0L<C AND RON<RM) +N2*(C0L>C
AND R0M<RH]HhN3«(C0L>C AND R0M>RH)+N4«C
COL<C AND ROH>RM)
238 D=H1»(C0L=C AND ROW<RH} +N2*tC0L>C
AND RDH=RH]+N3»CC0L=C AND R0H>RW}+N4«(
COL<C AND ROM=RH)
248 IF ()=N1 THEN D=N1:IF RNDCNOXa.S T
HEN D=N4
258 IF 0=:N2 THEN D=N2:IF RND(N8)<e.5 T
HEN D=N1
268 IF Q=N3 THEN D=N3:IF RND(N8}<e.5 T
HEN D=N2
278 IF Q=N4 THEN D=N3:IF RND(N8)<8.5 T
HEN D=N4
288 RETURN
298 R0H=R: POSITION COL, ROM:? ">"
388 IF STRIG(N8)=Ne THEN 388
318 IF STRIG(N8]=N8 THEN GOSUB SND1:CH
=ROM-R+Nl: RETURN
328 ST=STICKtN8J :IF STON14 AND STONI
3 THEN 318
338 R0=R0W:R0W=R0W+CST=N14J*-Nl+tST=Nl
3}«Nl:IF ROM<R THEN R0H=R+N3
340 IF R0M>R+N3 THEN RON=R
358 POSITION COL,RO:? " ": POSITION COL
,ROH:? ">":FOR X=N1 TO 25:NEXT X:GOTO
318
360 FOR X=N1 TO 380: NEXT X: RETURN
378 N=N8 : S=Ne : E=N8 : H=N8 : RT=RM (ROOM)
380 ON RT GOTO 390,488,418,428,438,448
,450,468,478,480,490,588,518,528,538
398 N=Nl:E=Hl:ES=" ,,■•: RETURN
488 N=Nl:S=Nl:ES=" , ,": RETURN
418 N=Nl:H=Nl:E5=" ,, ■■: RETURN
S=Nl:E=Nl:ES=", ,":RETURN
":RETURN
,- , , ": RETURN
1S=N1:ES=" ,":RETURH
468 N=Nl:E=Nl:M=Nl:E5=" , ": RETURN
478 S=Nl:E=Nl:M=Nl:ES=", '^RETURN
428
438 S=Nl:W=Nl:ES:
448 E=Nl:W=Nl:ES='
458 N=Nl:E=Nl:
488
RN
498
588
518
528
538
N=H1 : S=N1 : E=N1 : W=N1 : ES="
:RETU
N=Nl:ES=" ,,,":RETURN
S=N1 : ES=" , , , ■■ : RETURN
E=Nl:E5=", ,,":RETURN
W=M1:E5=", ,, ■■: RETURN
N=Nl:5=Nl:M=Nl:E$=" , ": RETURN
548 REM »«# STATUS SCREEN »*»
558 IF STR>N2e OR SM<H1 THEN 588
568 GRAPHICS H17 :P0KE 756 .CHSET ;PQ SITI
ON Nl N6 : '^ ttN6 ' "dinHinHjI^El^SyBlIir"
578 STR=stR+INf tRNDCN0J»N155+N15:SM=SM
-Nl: GOSUB DELAV2
588 GRAPHICS N8:P0KE 559, NO: POKE N77,N
8:P0KE 756,CHSET:P0KE 752,N1:P0KE 709,
N8:P0KE 718, no
ISSUE 29
ANALOG COMPUTING
PAGE 43
599 DL^PEEK 1560} *256»PEEK C561J +H4
680 POKE DL-Nl,7e:P0KE DL+N2, N6 :POKE D
L+N21,N6:PDKE DL+22,N6 : POKE DL+23,N6:P
DKE DL+24,N6
610 POKE l>L,NO:POKE DL+N1,5TTU5 :P0KE 8
8,N0:P0KE 89,5TTU5
620 POSITION N5,N3:? N$:POSITION N9,N5
:? HP; POSITION N9,N7:? STR;" ":P05
ITION N9,N9:? PIE;" "'
630 POSITION 38, N3:? MSCWN»N7-N6,MN«N7
); :IF W=N2 THEN ? ■' "
640 POSITION 30, N5:? 5PL;" ": POSITION
38, N7:? SM;" "
650 POSITION 30, N9:? G; POSITION Nl
,N28:? "
668 POSITION N18,N14:? ROOM;" ":POSITI
ON NIO N15 ' '^ " f-ff-f-f-t-f-^-" ■
678 POSITION N21,N13:? " ■<il!l!IV1!IJa " i P05
ITION 22,N14:? " MOVE": POSITION 22,N1S
:? " MftP "
688 POSITION 23,N16:? "CAST" : POSITION
22,N17:? " STORE"
698 GOSUB DIR:POSITION N18,H15
788 IF N THEN ? "N ";
718 IF S THEN ? "5 ";
728 IF E THEN ? "E ";
738 IF H THEN ? "W ";
748 IF B THEN POSITION 33,N14:? "titl"
758 POSITION N21,N19:? "THE MAGICAL ST
ICK ": POSITION N21,N20:? "PICKS THV CO
MMAND":POKE 559,34
768 IF PIE^HB THEN FOR X=H1 TO N4:F0R
Y=24e TO NO STEP -N28:S0UND N8,Y,N18,N
4:NEXT Y:NEXT K:S0UND N8,N8,Ne,Ne
778 C0L=22:R=N14: GOSUB CHOOSE: ON CH GO
TO 790,1458,1548,1668
780 REM *«* MOVE »»»
798 POSITION N21,N13:? " N 4****
t S "
800 POSITION 22, ROM;? " ";POKE 766, Nl;
POSITION 25,N15:? "t"
810 POSITION N21,N19:? "
":POSITION N21,N2e:? "
■ I
820 POSITION N1,N28:? "PICK THY DIRECT
ION" : TURN=TURN+N1 : CH=N1
830 IF STRIG(N8)=N8 THEN 830
840 IF STRIGCN8)=:N8 THEN GOSUB SHD1:P0
KE 766, NO: GOTO 988
858 ST=STICKtH8J : POSITION 25,N15:IF ST
=N14 THEN ? "f":CH=Hl
860 IF ST=N13 THEN ? "♦":CH=H2
878 IF ST=N7 THEN ? "4":CH=N3
888 IF ST=N11 THEN ? "t":CH=N4
898 GOTO 840
988 IF CH=N1 AND N THEN R00N=R00M-N11 :
GOTO 958
918 IF CH=N2 AND S THEN R00M=R00M+N11 :
GOTO 950
920 IF CH=N3 AND E THEN R00M=R00M+N1:G
OTO 958
938 IF CH=N4 AND M THEN R00M=R00M-N1:G
OTO 950
948 SOUND N8,150,N12,N8:F0R K=N1 TO N2
e:NE}<T X:SOUND Ne,N8,Ne,N8:P0KE 766, Nl
:GOTO 848
958 POKE 88,N0:P0KE 89,MAP:R=R00M: GOSU
B ROOMPOS: POSITION COL, RON:? RMS CRT«N1
7-N16,RT*N17J
968 STR=STR-Nl-Hl*tPIE=NOJ :IF STR<N1 T
HEN GOTO DEAD
978 CHT=CNT+Hl:IF CHT=N3 THEN CNT=H8:P
IE=PIE-Nl:IF PIE<N8 THEN PIE=N8
988 GOSUB DIR
990 GRAPHICS N8:P0KE 559, N8: POKE 756, C
HSET:POKE 7ie,Ne:P0KE 7e9,N12:P0KE 752
, Nl : DL=PEEK C568J +256»PEEK t561J +N4
1008 POKE DL-N1,71:P0KE DL+N2,N7 :POKE
DL+H3,N7:P0KE DL+N4,N7 :POKE DL+N5,N7:P
OKE DL*N6,N7:P0KE DL+H7,N7
1810 POKE DL+N8,N6:P0KE DL+N9,N6 : POKE
DL+H18,H6:P0KE DL+H18, 65 :POKE DL+N19,P
EEK(560) :POKE DL+N20, PEEK 1561)
1828 POKE 82,N0:P0SITI0N Nl,Ne:? ",,,,
II
1938 ? "
XV40 ,,,,,,,,,,,,,,,,,
1858 POSITION N9,N8:? E$ f Nl, Nl) :POSITI
ON 37, Hi:? EStN2,N2) : POSITION H9,N3:?
ES(N3,N3} ; POSITION N21.N1:? E$(N4,N4)
1969 IF ICR00M)=N7 THEN K=INT(RNDtNe))(
N3)+Nl:IF X=H1 THEN I(R00M)=N2
1079 IF I(R00M}>N2 THEN POKE 559,34:G0
TO 1350
1089 IF I(R00M}=N2 THEN POKE 710,N8:P0
KE 789,N0:P0KE 559,34 :POSITION 28, Nl:?
"HB"!FOR X=N1 TO 50: NEXT X:GOTO 1138
1999 POKE 559,34:P0SITI0N 26, Nl:? "EBB
^Cn":FOR Y=N1 TO N8:F0R Z=H1 TO 30:P0
KE 710, Z»H8: POKE 712,Z»N8-H6
1109 SOUND N0,Z,N6,N8:NEXT Z:NEXT Y:SO
UND N9,N9,N9,N9
1119 GRAPHICS N18:P0KE 756, CHSET:IF B
THEN PO SITION N1,N1:? IIN6:" n!n»iil!i:B;H
Hiifi|ai.-U " : I CDR) =N9 : SC=:SC<^199 : GOTO 2180
1128 GOTO DEAD
1 139 C HP=N5 :CST R=N19: POSITION N1,N4:?
"oamD 1339"
1149 POSITION N1,N5:? "i
I . I
1159 ?
P:
1169 ?
R:
1179 ?
I .1
!■
THY HP:
STR!
ORC H
ST
Jill.
1189 PL=MN-Nl:BS="!ailH ":C5=STR$ fPL)
iSTTBS (N6 . NB) =CS
THV WEAPON IS
CS=CHRS tASC CCS) +128)
1199 POSITION N8,N6:?
;B$:POSITION 28, Nl:? "
1208 POSITION N14,N8;? HP;" ":POSITION
31, N8:? CHP;" ":POSITION N14,N10:? ST
R; POSITION 31,H19:? CSTR;" "
1219 Dl=:IHTtRND<N8)*N9)+Hl:P0SITI0M N5
,Nl:? D5tDl»H9-N8,Dl»N9-H6) : POSITION 2
5, Hi:? D5CDl*N9-N5,Dl*fN9-N3)
1220 POSITION N5,H2:? DS(D1»H9-H2,D1»H
9}:S0UND NO, 158, N2,N8: SOUND N0,N8,N9,N
9
1239 IF STRIGCN9) THEN 1219
1249 D1=D1-INTCN4-STR/N28)+PL: POSITION
Ne,N4:? Dl;" ":STR=STR-Nl-Nl»tPIE=M9)
:IF STR<N1 THEN GOTO DEAD
1259 FOR X=N1 TO N20 :D2=INT f RND (N0)«N9
)+Nl: POSITION Nll,Nl:? D?fD2»N9-N8,D2»
H9-N6)
1269 POSITION 31, Nl:? D5 tD2»N9-N5, D2»N
9-N3) : POSITION H11,N2:? D5 CD2»H9-N2,D2
«N9):S0UND N0,150,N2,N8
1279 SOUND N0,N9,N9,N0:NEXT X:POSITION
N15,N4:? D2;'' ":CSTR=CSTR-Nl;IF CSTR<
Nl THEN 1330
1289 H=INTfRNDCN9}«N5)+Nl:IF D1>=D2 TH
EH SC=SC+H1:G0T0 1318
1298 FOR X=H8 TO 255 STEP N5:S0UND NO,
X,Nie,N4:NEXT X:SOUND N8,Ne,N8, N8 :HP=H
P-H:IF HP<N1 THEN GOTO DEAD
1309 GOTO 1299
1319 FOR H=259 TO NO STEP "NIO: SOUND N
0,X,N10,N4:NEXT X:SOUND NO,NO,Ne, NO : CH
P=CHP-H:IF CHP<N1 THEN 1330
1320 GOTO 1208
1330 X=INTCRNDCN8)KN5)+N4:GRAPHICS N8 :
POKE 756, CHSET: POKE 710,N0:P0KE 752, HI
:POSITION N14,N8:? "HE IS DEAD!"
1340 POSITION N11,N12:? "YOU FOUND ";X
;" GOLD ! " : G=G+X : I (ROOM) =N7 : SC=SC+N11 : G
OSUB DELAY2:G0T0 550
1350 IF ICR0 0M)=N3 THEN POSITION 25, Nl
:? " kJ-JIJ J.I1M " : SC=SC+N1 : GOTO TEL
1368 C0L=N18JIFICR00M)=N7 THEN POSITI
ON 27, Hi:? "BCI1B«]" : GOTO 1420___
1370 POSITION N5,Nl:? "L 'MIMiJIim " : SC-S
C+Nl
1380_IFItR00M)=N4 THEN POSITION N6,N2
:? "h»J3Jli" ; SPL=SPL+N1
PAGE 44
ANALOG COMPUTING
ISSUE 29
1390 IF ItR00M}=N5 THEN H=:IN T CRHD CWOi*
N5)+N4: POSITION N3,N2:? X;" L- MJiBJtJn
S":G=G*X
1*00 IFItROOMJ =M6 THEN POSITION N6,N2
■ r":SM=SM+Ml
1410 IF_ICR00M)=N8 THEN POSITION N5,N2
:? "EEI3D3S1":G=INT(G/N2):F0R Z=N1 TO
N8:G0SUB SND2:NEXT Z
1420 SC=SC+Nl: POSITION C0L,N7:? ttN6;"P
RESS THY TRIGGER"
1430 IF STRIGCNO) THEN 1430
1440 GOSUB SNDl:ICR00M)=N7:G0T0 550
1450 GRAPHICS NO:POKE 756,CHSET :POKE 7
52,Nl:P0KE 7ie,N0:P0KE 711,54:P0KE 712
,112
1460 DL=PEEK (560 J +256«PEEK C561) +N4 : POK
E DL+22,N6:P0KE DL^23, NO :POKE DL+24,N6
■.POKE DL, NO: POKE DL+N1,MAP
1470 POKE 88,N0:P0KE 89,MAP:P0KE 559,3
1480 R=R00M:G0SUB ROOMPOS
14S0 POSITION C0L+N1,R0H+Nl:? ■'•"iFOR
X=N1 TO NIOSNEXT X
1500 POSITION C0L+H1,R0W+Nl:? FOR
X=N1 TO Nie:NEXT X
1510 IF STRIG(NO)=NO THEN GOSUB SND1:G
OTO 550
1520 GOTO 1490
1530 REM *** CAST SPELLS WHt
1540 IF SPL>N8 THEN SPL-SPL-Nl :R00M=N1
:GOTO 1560
1550 GOSUB SND2:P0SITI0N COL, ROM:? " "
:GOTO 770
1560 POSITION N21,N13:? " ****
«■<•*•*• 4«-*-**-> +*•**■*■ ++*•*■«■ "
1570 POSITION N21,N19:? "
": POSITION N21,H20:? "
":POSITION N5,N20:? "WHAT ROOM?"
1580 IF STRIG(NO)=:NO THEN 1580
1590 IF STRIGCNO)=Ne THEN 1630
1600 STrSTICKCNO) :R00H=R00H« (ST=N14)«N
l+tST=N13J«-Nl:IF R00M>N77 THEN ROOM=N
1
1610 IF R00H<N1 THEN RD0H=N77
1620 POSITION 25,N15:? ROOM;" ":FOR X=
Nl TO N10:NEXT X:GOTO 1590
1630 SOUND N0,248,N10,N4:S0UND Nl,255,
N14,N4:S0UND N2, 246, N14, N4 : SOUND N3,24
3,N10,N4
1640 POKE ADRCR$)+24,26:D=USRCADRCR$]Hh
N1,N2}:F0R X=Ne TO N3:S0UND X, NO, NO, NO
:NEXT X:GOTO 950
1650 REM »*« STORE ***
1660 STR=STR-N2-N2*CPIE=N0) :IF STR<N1
THEN GOTO DEAD
1670 S=INTCRND(N0}»N101+N1:IF STR>90 T
HEN S=N1
1680 IF S<N6 THEN SL=NO :SS (36, 75>="
HELCOME ALL ADVENTURERS! "
:GOTO 1730
1690 55(36,753=" SPECIAL TODAY:
PERCENT OFF! "
1700 IF S<N9 THEN SS (56, 57J="10" :SL=0 .
1
1710 IF S=N9 THEN SS (56,57J="'20":SL=0.
2
1720 IF S=N10 THEN SS (56, 57J ="30" :SL=0
.3
1730 GRAPHICS NO: POKE 559, NO: POKE 710,
NO: POKE 756,CHSET:DL=PEEK(560}+256*PEE
K(561}+N4
1740 POKE DL-N1,70:F0R X=N2 TO N6:P0KE
DL+X,N6:NEXT X:FOR X=N9 TO N2e:P0KE D
L+X,N6:NEXT X:C0L=N6 :R=N7
1750 POKE 752, Nl: POKE 82,N0 :TURN=TURN+
Nl:POKE DL,Ne:POKE DL+Hl, STORE :POKE 88
,NO:POKE 89,ST0RE:P0KE 559,34
1760 FOR X=N1 TO 80 : BS=SS (X,37+X1 ;POSI
TIOH N1,N3:? B5; :FOR Y=N1 TO N8:NEXT Y
1770 IF STRIG(NO}=NO THEN POP : GOSUB S
NDl:GOTO 1790
1780 NEXT X:G0T0 1760
1790 C0L=N6:R=N6:R0H=N6: POSITION N1,N3
1800 POSITION N7,N6:? "
4«- <■*■<■*«■
1810 POSITION N10,N3:? "YOU HAUE ";G;"
GOLD.": GOSUB DELAY2
1820 POSITION N10,N3:? "CHOOSE THE DEP
ARTMENT"
1830 POSITION COL, RON:? " ":POSITION N
7,N6:? "wagic +*«^***+health *4^**t^+***
weapons+**-*-«-**-*-exit "
1840 GOSUB CHOOSE: POSITION COL, ROM:? "
":POSITIOH N9,N3:IF R0M<N9 THEN ? "
MAKE THY PURCHASE
1850 OH CH GOTO 1860,1930,2020,2110
1860 POSITION N7,H6:? "spel ls+**t***gy
psy +*t<^*ttbrew "
1870 GOSUB CHOOSE: ON CH GOTO 1880,1900
,1890,1820
1880 C0ST=N10: GOSUB 2070:SPL=SPL+N1:G0
TO 2090
1890 C0ST=60: GOSUB 2870 :B=N1 : GOTO 2090
1908 C0ST=N20: GOSUB 2070
1910 GOSUB CLUE:POSITION H7,N6:? "
4«^+*t** +**^t*t ***t*^* "
1920 POSITION 27, N7:? DIRS (D*N5-H4,D»N
5]:G0SUB DELAY2: POSITION 27, N7:? "
":GOTO 2090
1930 POSITION N7,N6:? "pie ♦t**t*iodg
ing*+tt+tt*^doctor "
1940 GOSUB CHOOSE:ON CH GOTO 1950,1990
,1960,1820
1950 C0ST=N10:G0SUB 2078 :PIE=PIE+N5 : GO
TO 2090
1960 C0ST=N15: GOSUB 2070 ^^
1970 X=INT (RHD (N0)»N10) +N15 : HP=HP+H : IF
HP>50 THEN HP=50
1980 POSITION N1,N3:? "THE DOCTOR HAS
HEALED THEE ~ ";X;" HP ~":GOSUB DELA
Y2:G0T0 2090
1990 C0ST=N15: GOSUB 2070
2800 X=INT (RND (N03*N15J +N20 : STR=STR+X :
IF STR>100 THEN STR=100
2010 POSITION N1,N3:? " A GOOD NIGHT
S SLEEP! ~ ";X;" STR ~ ":GOSUB DELA
Y2:G0T0 2090
2820 POSITION N7,N6:? "dagger***t***s
swoPd*t*tt**ti sword"
2030 GOSUB CHOOSE:ON CH GOTO 2040,2050
,2060,1820
2040 C0ST=N10: GOSUB 2070 : HN=N2 : GOTO 20
90
2050 C0ST=30: GOSUB 2070 :HH=N3 : GOTO 209
2860 C0ST=50: GOSUB 2870 :HN=N4: GOTO 209
2070 POSITION COL, ROM:? GD=G:G=INT
(G-(C0ST-(SL»C0ST3>J :IF G<HO THEN 2140
2080 P=Nl: RETURN
2090 FOR X=H1 TO N2:S0UND N0,N3,HO,N8:
FOR Y=N1 TO N8:NEXT Y:50UHD NO, NO, NO, N
2100 FOR Y=N1 TO N3:NEXT Y:HEXT X:FOR
X=N14 TO NO STEP -0.3:S0UND N0,N5,Nie,
X:SOUND N1,N20,N10,X:NEXT X:G0T0 1790
2110 IF NOT P THEN 2150
2120 POSITION N1,N3:? " I THANK THE
E FOR THY PURCHASE!"
2130 FOR X=N14 TO NO STEP -0.3: SOUND N
0,30,N18,X:NEXT X:GOSUB DELAY2 :P=NO :G0
TO 2150
2140 P OSITION N1, N3:? " ■EEKCEB
|;^MiiIiM!lJ^!Tt< J;1M " : GOSUB SND2: GOSUB DE
LAY2:G=GD:P0P :GOTO 1790
2150 POKE 559,N0:P0SITI0N N3,N3:? "
2160 POSITION N7,N6:? "press****t+ thy
**•<■**•+*«■ joystick**-<-*-*-***button": GOTO
558
2170 GRAPHICS N18 ; POKE .756 ' C"S ET : POSIT
ION N2,Nl:? ttH6',"m!MEnaE33W'
2180 POSITION N2,N3:? ttNe;"DO YOU MANT
":? «H6;" TO PLAY AGAIN?"
2190 IF I(DR)=HO THEN SC=SC+ (200-TURN)
2200 POSITION N4,H7:? «N6;"SC0RE: ";SC
2210 OPEN ttNl,N4,N0,"K:":GET ttNl,A:CLO
SE ttMl:IF A=ASC(''N") THEN POKE 82,N2:E
2220 IF A<>ASC("Y") THEN 2210
2230 POSITION N4,N10:? nN6 i " BIini'„t J'.tJ AJ
ISSUE 29
ANALOG COMPUTING
PAGE 45
2240 RESTORE 2948 :HP=50 :5TR=i00 rSPL-MO
: PIE=N1 : CNT=NO : B=:NQ : UN=N1 : G=ee : R00M=39
:SC=N0:5H=N0:TURN=N0:G0T0 80
2250 REM *** IMITIfiLIZE ***
2260 RT0P=PEEK<ie6> -1121: POKE lOe.RTOP:
GRAPHICS NO : DL=PEEK (5603 1^256«PEEK C561)
+N4:P0KE DLHhN4,N7:P0KE DL+N5,N6
2270 POKE DLHtN8,Ne:P0KE DL+N§,N6 : POKE
710 , NO : POKE 752, Nl : MAP=RT0P+N1 : 5TTU5=R
TOP+lie : 5T0RE=RT0P+H11
2280 POSITION N4,N3:? "dragonlord" :POS
ITION N8,H6;? "aft": POSITION 22, N6:? "H
22?e POSITION Nie,N2e:? "ONE MOMENT PL
EASE"
2300 DIM RMCN77),I(N77},RM$C255),MU$tN
20) , N5 CN9) , U$ (28} , DIR$ CN20) , S$ C120) , B$
C40),CL$(403
2310 DIM R$(N1],R(N5},C$(N13,E$CN4),&$
C81)
2320 5SCH1)=" ":5$C120)=" ":SSCN2)=S5
2330 SS(N1)= SStl20J=" ":SS(N2J=S5:
RESTORE 3370:F0R M=N1 TO 4e:READ A:CLS
(X)=CHR$(A) :NEXT X
2348 HN=Nl:PIE-Nl:CNT=MO:6=68:SPL-H0:H
P=50 : STR=100 : B=H0 : R00M=39 : SM=NO : SC=NO :
TURN=N0
2350 R00MP0S=180 : CH00SEr290 : DIR=370 : CL
UE=210 : DEAD=2170 : DELAY2=360 : SND1=160 : S
ND2=170:TEL=13O
2360 RMS="rht+t*l K****-^ rSf *** I I*
*t* ^ rS t*tH I i*^*" '— ' »— I **** I H**** "■
2370 RM$C86)="r— i+**H K*+* ■— ' rH**+*
2380 RMSC171>="rH****l | +***•—* i-ti+**
****!—• rS***H |4**+h-'"
2350 M$="NONE DAGGER S SHORDL SHORD"
;DIR$="no rtheast southwest "
2400 D$-"\
++++; ++++;
:+ + +j + ; ; + ; + ! + ; + • ■ + ;
H"
2410 CHSET=RT0P+N17 : CHBASE=CHSET*255 : P
OKE 203,N0:P0KE 204, CHSET :POKE 205, NO:
POKE 206,224
2420 FOR X=N1 TO N2e:READ A:MU5(X)=CHR
5(A):NEXT X:D=USRCADR(MV$}) :POKE 756, C
HSET:GOTO 30
2430 DATA 104,104,104,162,255,160,58,2
02,208,9,136,208,6,170,202
2440 DATA 138,208,241,96,142,10,212,14
2,22,208,24,144,235
248,80,102,102,126,231,0
252,182,252,102,102,124,0
254,102,112,240,102,62,0
248,108,102,230,108,124,0
254,96,124,224,102,126,0
254,99,252,108,96,96,0
254,102,96,238,102,62,0
118,54,126,54,54,118,0
126,24,60,24,24,126,0
14,6,6,246,102,60,0
230,110,248,120,110,102,0
240,96,224,96,118,126,0
227,119,255,107,99,119,0
230,118,126,126,110,246,0
254,102,230,102,102,126,0
252,102,238,124,96,112,0
254,102,230,102,108,118,0
252,102,230,124,108,118,0
254,96,126,6,102,126,0
126,216,24,24,24,28,0
230,102,230,102,126,124,0
230,102,230,102,126,24,0
227,99,235,127,119,99,0
230,102,60,60,102,118,0
230,102,60,24,56,56,0
254,108,24,48,102,126,0
2710 DATA 170,170,170,170,170,170,170,
170
2720 DATA 0,254,102,238,118,102,126,0
2730 DATA 0,24,120,120,24,24,126,0
2740 DATA 0,124,102,76,24,54,126,0
2750 DATA 0,126,206,24,12,102,62,0
2760 DATA 0,12,28,60,108,254,12,0
2450 DATA
2460 DATA O
2470 DATA O
2480 DATA O
2490 DATA
2500 DATA
2510 DATA
2520 DATA
2530 DATA
2540 DATA
2550 DATA
2560 DATA
2570 DATA
2580 DATA O
2590 DATA O
2600 DATA O
2610 DATA
2620 DATA O
2630 DATA
2640 DATA
2650 DATA
2660 DATA
2670 DATA
2680 DATA O
2690 DATA O
2700 DATA
2770 DATA 0,254,96,252,6,102,124,8
2780 DATA 0,124,224,124,230,102,126,0
2790 DATA 0,254,102,12,24,48,48,0
2800 DATA 0,60,102,60,230,102,254,0
2810 DATA 0,254,102,254,6,12,56,0
2820 DATA 0,60,102,219,195,0,0,0
2830 DATA 24,28,6,54,54,6,28,24
2840 DATA 24,56,96,108,108,96,56,24
2850 DATA 24,24,12,198,238,62,0,0
2860 DATA 0,0,62,230,198,12,24,24
2870 DATA 24,24,48,99,103,124,0,0
2880 DATA 0,0,124,183,99,48,24,24
2890 DATA 0,0,0,195,219,102,60,0
2900 DATA 255,255,255,255,255,255,255,
255
2910 DATA 247,247,0,189,189,0,247,247
2920 DATA 255,255,195,129,129,129,195,
255
2930
2940
2950
2960
2970
2980
2990
3000
3010
REM *** ROOM DATA »»»
DATA 4,6,6,9,6,9,6,9,6,6,5
DATA 1,9,9,8,5,2,4,8,9,9,3
DATA 12,11,2,4,3,2,1,5,2,11,12
DATA 7,6,10,10,6,10,6,10,10,6,15
DATA 11,12,2,1,5,2,4,3,2,12,11
DATA 4,8,8,9,3,2,1,9,8,8,5
DATA 1,6,6,8,6,8,6,8,6,6,3
DATA 1,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,
3020 DATA 7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,-1
3030 POKE 87,N0:P0KE 88,H0:POKE 89, MAP
: A=USR CADR (CL$} , N15)
3040 POSITION N18,N9:? R MSC154.1 70}
3050 POSITION 26.N21:? "fcM^H JliTi" ; POSI
TION N4,22:? ' 'kiSPJl UiL-ULtS" ;
3060 POKE 89, STTUS: POSITION N5,N0:? "B
ybtUilLUEJ"
3070 POSITION NO,Nl:? " i
T"
3080 POSITION N0,N2:?
mm' iJ i i iiii i ii i i i m i i i immimm
3090 POSITION Ne,N3:?
$\y. HEAPON:
3100 POSITION N0,N4:?
3110 POSITION Ne,N5:?
$\y. SPELLS:
3120 POSITION N0,N6:?
$\y.
3130 POSITION N0,N7:?
Sly. SERUM:
3140 POSITION N0,N8:?
SIX
3150 POSITION N0,N9:?
Sly. GOLD:
3160 POSITION NO.NIO:? .
KiHHtt, I C KKMMKMK1CMKKMKK1CK & I "
3170 POSITION NO, Nil:? " I—
I I"
ytmmmmmmmmt
■ I
y. NAME:
HP:
STR:
«l
PIE:
3180 POSITION N0, N12;?
3190 PO SITION N0 .N13;?
tttttttf MBaiECmai Dttmm
3200 POSITION N0.N14:?
511 MOVE
3210 POSITION
S I I MAP
3220 POSITION
WHHtill CAST
3230 POSITION
' I STORE
■■ ' ' ■■
3240 POKE 89, STORE: POKE 82, HO : POSITION
N1,N0:? ",
jtmtmiiiiiii iii i i i n i
■ I
.njL-.: y. ROOM:
\\y.
N0.N15:? " y. EXITS:
N0.N16:? " C MKMKKMICKMKMK
N0,H17:? "'
1":P0SITI0N N20,N18:?
3250 POSITION N21,H1:?
3260 POSITION N4,N5:? ",,,,,,,,,,,,
, press
3270 ? "
3280
thy
, joystick ,
button ,
PAGE 46
ANALOG COMPUTING
ISSUE 29
3290 POSITIO N I<2,N1 1;? "\SEBSA IS
anil!] \SigMi:M spells: le
5 PIE : le DAGGER : 10"
3300 ? " GYPSY : 20 LODGING: 15 S
SHORD: 30 BREH : 60 DOCTOR : 15
L SMORD : 50"
3310 GRAPHICS NO:POKE 756,CHSET :POKE 7
52,Nl:P0KE 710,160
3320 POSITION N2,N10:? "MHAT MILL BE T
HY NAME FOR THIS QUEST?"
3330 POSITION N14,N13:? " ****
*^*ttt*"; :INPIJT HS
3340 FOR X=H1 TO HS : IF NSCX,KJ<>"-" TH
EN NEKT X:GOTO 550
3350 TRAP 3030 : N$=N$ CNl, X-Nl) : POP :GOT
550: TRAP 40000
3360 REM *** CLS DATA *H«f
3370 DATA 104,104,104,133,205,165,88,1
33,203,165,89,133,204,162,0,165,0,168,
145,203,208,208,251,232,228,205
3380 DATA 240,11,24,165,204,105,1,133,
204,240,234,208.232,96
3390 REM »#» MUS DATA ***
3400 DATA 104,162,4,160,0,177,205,145,
203,200,208,249,230,206,230,204,202,20
8,242,96
CHECKSUM DATA.
(see page 32)
1 DATA 303,273,991,703,317,844,392,368
,499,372,465,771,238,819,436,7791
130 DATA 16,407,617,441,292,82,517,583
,844,68,34,989,990,999,9,6888
280 DATA 607,336,734,603,164,657,664,4
91 , 776 , 822 , 885 ,0,27,26,8, 6808
430 DATA 59,996,548,579,573,52,155,157
,130,163,588,691,164,914,325,6094
580 DATA 786,127,135,549,784,372,735,7
6,908,54,174,157,532,555,502,6446
730 DATA 577,860,328,664,310,357,310,7
8,65,506,771,107,525,767,631,6856
880 DATA 774,750,265,270,55,81,881,924
,951,576,143,808,989,399,367,8233
1030 DATA 254,631,665,665,687,260,366,
994,31,873,945,381,107,796,727,8382
1180 DATA 550,505,359,151,411,320,843,
285 , 882 , 427 , 90 , 293 , 707 , 463 , 709 , 6995
1330 DATA 396,267,130,818,458,336,459,
862 , 738 , 404 , 336 , 528 , 621 , 657 , 20 , 7022
1480 DATA 924,197,227,785,735,734,411,
999,376,868,722,710,718,884,107,9397
1630 DATA 251,360,891,84,123,279,560,6
13,618, 850 ,511,415, 788 , 832 , 588 , 7683
1780 DATA 857,200,758,592,293,874,717,
848,626,958,944,774,203,10,837,9491
1930 DATA 540,969,888,218,207,157,221,
109,877,684,884,439,67,77,951,7288
2080 DATA 320,575,208,12,366,623,307,3
40 , 355 , 363 , 338 , 590 , 695 , 632 , 365 , 6089
2230 DATA 265,714,474,368,129,335,862,
82,763,134,376,52,737,224,770,6285
2380 DATA 860,934,384,580,395,874,12,9
11 , 160 , 900 , 187 , 942 , 974 , 733 , 891 , 9737
2530 DATA 622,588,158,758,968,193,164,
944,175,182,906,612,157,892,787,8106
2680 DATA 684,606,720,325,196,872,877,
874,642,905,185,624,715,630,427,9282
2830 DATA 645,834,633,635,654,659,430,
401 , 277 , 414 , 107 , 647 , 636 , 685 , 163 , 7820
2980 DATA 687,638,599,449,474,462,120,
790 , 974 , 374 ,309,16,87, 916 , 93 , 6988
3130 DATA 2,99,763,986,673,574,960,685
,809,932,199,144,37,951,99,7913
3280 DATA 864,802,153,861,865,110,794,
446,41,827,282,84,660,6789
Assembly listing.
1 «»«»»»«itM«*«tt**4»«#*#«»*tt««
1 •
MEMORY CLEANER »
1 *♦•»*»*»»*#**♦*»»»♦»«**»#*
1 fl-USR (ADR, PAGES)
1 ADR-RDDRESS DF ROUTINE
I PAGES
I
-NUMBER OF PAGES TO BE CLEARED
«s
*5isee
P EQUATES
SftVMSC
„
«5S
PAGES
a
«CD
TMP
=■
»CB
) INITIALIZE
1
PLA
! it OF ARGUMENTS
PLA
IHI-BYTE: IGNORE
PLA
!« OF PAGES
STA
PASES
LDA
SAVMSC
J GET SCREEN ADDRESS
STA
TMP
lAND STORE IT
LDA
SAUMSC+1 SIN TEMP WORK AREA
STA
TMP+1
1 MAIN
PROGRAM
I
LDX
»B
1 ZERO PAGE COUNTER
NEXT
LDA
»e
ILOAD WITH BLANK
TAY
SZERO INDEX
CLEAR
STA
(TMP> ,Y
(CLEAR ONE BYTE OF MEMORY
INY
! INCREMENT INDEX
BNE
CLEAR
SGO CLEAR NEXT BYTE
INX
(INCREMENT COUNTER
CPX
PAGES
;all done?
BEO
END
!YES
CLC
)N0, MOVE
LDA
TMP+1
;UP ONE PAGE
ADC
*l
STA
TMP+1
BEO
NEXT
IGO TO CLEAR
BNE
NEXT
SNEXT PAGE
END
RTS
(BACK TO BASIC
Talk to
ANALOG Computing
We're happy to announce that three members
of our staff can now be regularly found on Com-
puServe. If you're a CompuServe member, you
can contact Tom Hudson, Charles Bachand or
Art Leyenberger by leaving a message on the
Atari SIG, which can be accessed by typing GO
PCS -13 2 at any menu page.
The Atari SIG has logged over 100,000 calls
— with over 60,000 messages posted! They have
a staff of highly competent SYSOPs, headed up
by Ron Luks, who are more than happy to help
you. Their program database contains well over
a megabyte (that's one million bytes, folks!) of
Atari programs that can be downloaded into
your computer.
So, if you need to get in touch with ANA-
LOG Computing, you can now do it through
CompuServe. Our user numbers are:
Tom Hudson 70775,424
Charles Bachand 73765,646
Art Leyenberger 71266,46
ISSUE 29
ANALOG COMPUTING
PAGE 47
SUSPECT
by David Lebling
INFOCOM, INC.
55 Wheeler Street
Cambridge, iVIA 02138
(617) 492-1031
48K Disl< $39.95
by Ray Berube
Infocom has released a new text adventure for its
mystery series. It is titled Suspect and is not for the
inexperienced player. Retailing for $39.95, it is cer-
tainly a chock-full adventure for the money. However,
as varied and detailed as it is, Suspect doesn't satisfy
as well as some of Infocom's earlier mystery adventures.
Written by David Lebling, co-author of Zork and
a mainstay of creative imagination at Infocom, Sus-
pect invites you to play the role of a newspaper re-
porter attending a "chic" Halloween costume party.
As expected, your hostess is murdered with your lariat
(you had to come dressed as Roy Rogers), and you sud-
denly become the primary Suspect. The familiar char-
acter of Sergeant Duffy is on hand to arrest you if
you can't solve the crime by discovering the identity
of the real murderer.
According to Lebling, "Suspect combines the rich
texture of The Witness with the complicated plot
structure that distinguishes Infocom mysteries." It is
also supposedly characterized by the dry humor fami-
liar to Infocom fans.
Well, before addressing these claims in detail, I'd
like to take a moment to comment on one of Sus'
pect's best features — its new packaging. There was a
time when interested computer owners could spot an
Infocom game from across the crowded software store.
Its packaging was unique and very often beautiful, as
with the fantasy game Enchanter. However, Infocom
discovered a few drawbacks with implementing inno-
vative packaging, namely: poor dealer space utilization
and customer dissatisfaction.
It looked pretty, but you couldn't stack it, shelve
it, or put it in a drawer (the frisbee of Starcross springs
to mind). It only caught your attention as a buyer if
the dealer would display it. So some of Infocom's
games began to experience sales declines, because of
dealer reluctance to allot space displaying the unusual
boxes.
What to do? The wizards at Infocom got together
and came up with a solution both practical and at-
tractive. The change to a more uniform shape for the
package, with a distinctive design for each game, has
helped some Infocom titles, especially the Zork series.
Suspect has arrived in a new box, compact and
functional. It serves well as a storage unit for the game's
components and it stacks neatly on the dealer's shelf.
So, from now on, look for Infocom in a classy book-
sized package. The days of Suspended's mask are gone
(and I still haven't found the right opportunity to wear
my Suspended mask).
Now, on to the game itself. The opening moves re-
veal a cast of very well-detailed characters, who can
be interacted with most effectively. However, trying
to map or chart their movements from ballroom to
hallway to outside to office is quite a challenge. Not
to mention that some of these characters are only
known to you by their costume. Considerable care
and patience is required to chart this opening.
The inexperienced player should take heed! Sus-
pect requires careful mapping and charting of charac-
ters to keep things straight and to give you any chance
to solve its riddles. The play is very user friendly, as
with all Infocom's games. You can't fault a parser which
allows you to communicate on a nearly conversational
level with the game elements.
Suspect.
In fact, technically, this is probably Infocom's most
complex and truly "interactive" adventure thus far.
There is a whole rogues' gallery of characters with
whom you can converse and interact. This reviewer
could not find any negative aspects to report on con-
cerning the programming of the adventure.
The complaints I have are involved more with the
tone and style of Suspect than with its mechanics.
From the moment you open the package and read
"Murder and Modern Manners" (the game's exposi-
tory text), you get the feeling this whole adventure
promises to be a joke — at your expense.
The idea of finding oneself Suspected of murder and
then being forced to find the real killer is a good one.
(continued on page 52)
PAGE 48
ANALOG COMPUTING
ISSUE 29
by Michael Alan Barton
The Atari 600XL home computer provides 320 by
192-bit mapped graphics, 16K of RAM, built-in BA-
SIC interpreter and external access to the microproces-
sor's bus. The latter is referred to as the "expansion
connector." The expansion connector is not docu-
mented by Atari's Owner's Guide or other printed
material supplied with the XL package.
This article describes a project which had the fol-
lowing as goals: (1) determine the pinout of the ex-
pansion connector; (2) describe the characteristics of
the system's clock; and (3) design and constructfa*siQa-^
pie memory interface to verify the findings in goals
1 and 2.
The 600XL is based on a modified version of the
popular 6502 8 -bit microprocessor The microproces-
sor's bus is divided into three sections. They are: the
address, data and control busses. Access to each of
these is available at the expansion connector
■fiv
Expansion connector pinout. l
The first goal of the project was to determine the
'pinout of the expansion connector This connector
is an integral part of the XEs printed circuit board.
There are twenty-five contact fingers on each side
of the printed circuit board. The contact fingers are
on 0.100 inch centers. A 50-pin card-edge connector
is required to mate w^hr-the expansion connector.
The expansion connector is designated as J2. The
contact numbering and description are given in Fig-
'^O)ou|je~lrr As shown, the even-numbered contacts are on
the top side of the connector. They are numbered 2
through 50. When looking at the connector from the
back side of the computet; number 2/will be on the
left side. The odd-numbered contacts are on the bot-
tom side of the expansion connector Number 1 is
directly under number 2, and number 49 is directly
under 50.
ISSUE 29
ANALOG COMPUTING
PAGE 49
(49)
(1)
5
J
2
TOP (COMPONENT SIDE)
PIN DESCRIPTION
PIN DESCRIPTION
1
26 D4
2 GND
27 D7
3 A1
28 D6
4 AO
29 GND
5 A3
30 GND
6 A2
31 GND
7 A5
32 02
8 A4
33 RESET
9 GND
34 N.C.
10 A6
35 RDY
11 AB
36 IRQ
12 A7
37
13 A10
38 N.C.
14 A9
39
15 A12
40 N.C.
16 All
41 GND
17 A14
42 N.C.
18 A13
43 RAS
19 A15
44
20 GND
45 R/W
21 D1
46 GND
22 DO
47 5 V dc
23 D3
48 5 V dc
24 D2
49 GND
25 D5
50
Figure 1. Atari 600XL Expansion Bus (J2).
The complete address bus is available at the expan-
sion connector. The address bus is designated AO
through A15. The microprocessor communicates with
an external device by placing the binary address on
Lines AO through A15 for the device. The most sig-
nificant bit (MSB) is A15. The least significant bit
(LSB) is AO. External devices connected to the ex-
pansion connector are required to decode the address.
Each device is assigned an address or range of ad-
dresses. When an external device determines that it
is being addressed by the CPU (microprocessor), it
will transmit data to or receive data from the micro-
processor on the data bus.
The data bus consists of eight lines. They are desig-
nated DO through D7. The MSB is D7, and the LSB
is DO. Since 8 bits of data are transferred on the bus
during any one bus cycle, the 600XL is considered
an 8 -bit microcomputer.
Several other lines make up the control bus. We'll
discuss the two most important ones here. They are
the phase 2 clock (02) and Read/Write signal (R/W).
The R/W line is held high (2.4 to 5.0 volts) by the
CPU whenever it is attempting to read data from the
data bus. The R/W line transitions to the low level
(0.0 to 0.4 volts) when the CPU is writing data to
external devices.
During the transitions of the R/W, address and data
lines, the information on the bus is invalid. There-
fore, peripheral devices must be signaled by the CPU
when the bus lines are stable and valid data exist. The
02 clock provides this function of signaling good data.
While the 02 clock is low, the address bus lines are
in the transition phase. As soon as the 02 clock goes
high, the address bus and R/W lines present valid data
to the peripherals. While the 02 clock is high, the
data bus lines make their transitions. The data bus
is signaled to be valid by the high to low transition
of the 02 clock.
The phase 2 clock of the Atari 600XL computer
is found on pin 32 of J2. The clock frequency is L8
MHz. A single clock cycle takes 550 nanoseconds. The
02 clock is low for 300 nanoseconds and high for the
remaining 250 nanoseconds of the clock period.
The address and R/W lines transition to new states
approximately 100 nanoseconds after the 02 line tran-
sitions from the high to low level. The fall time for
02 is approximately 15 nanoseconds, and its rise time
is 50 nanoseconds. The fall and rise times were meas-
ured from the 10% to 90% levels of the clock signal.
The 02 clock's period is a measure of the speed at
which the computer can execute instructions. An
immediate mode ADD instruction takes two clock
periods to complete. This corresponds to 1.1 micro-
seconds. Many 6502 machine language instructions
require only two clock cycles. The average is probably
closer to three for many programs. Depending on the
coding, the 600XL will execute instructions at a rate
in the range of 300,000 to 900,000 instructions per
second.
Numerous ground pins (designated GND) are pro-
vided on J2. A 5 -volt DC power source is found on
J2-48. Use J2-48 for supply voltages for small projects
only.
Buffering the interface.
A system is required to interface a project to the
computer's expansion connector. One method is to
use a 6- to 9 -inch ribbon cable assembly. The com-
puter's end requires a 50 -pin card-edge coniTector with
contacts on 0.100-inch centers. If the project is done
using wire wrapping, then a 50-pin socket connector
works well on the other end. A double row 50 -pin
wire wrap header is required on the project's plug-
board when the socket connector is used.
T) complete the interface, the address and data bus
should be buffered. This will improve the electrical
noise immunity of the project's interface. Also, the
computer will be protected against short circuits or
other miswiring problems.
Figure 2 shows a memory expansion project with
Ul, U2 and U3 being the buffered interface. The
TTL circuits in the 74LS244 work well for address
buffers. U3 is an Octal Bus Transceiver. The direc-
tion of data flow through the transceiver is controlled
by the CPU's R/W line. The R/W line is connected
to the DIR input of U3.
The interface (shown on page 50) should be used
with all projects that are designed for the 600XLs ex-
pansion bus.
Memory expansion project.
The expansion connector pin designations were de-
termined by tracing the interconnections of ICs on
PAGE 50
ANALOG COMPUTING
ISSUE 29
U4
J2-32
J2-4
J2-3
J2-6
J2-5
J2-8
J2-7
J2-10
J2-I2
J2-9
J2-11
J2-14
J2-13
J2-16
J2-19
J2-17
J2-18
J2-15
J2-20
J2-22 ■
J2-21
J2-24 ■
J2-23
J2-26 -
J2-25
J2-28
J2-27
J2-45
LS244
2
1A1 1Y1
1A2 1Y2
1A3 1Y3
1A4 1Y4
2A4 U 2Y4
18
4
16
6
14
8
12
17
3
15
5
13
2A2 2Y2
2A1 2Y1
16
26
7
11
9
1
19
LS244
LS245
B1
B2
B3
84
85
86
B7
88
DIR
u
3
A1
A2
A3
A4
A5
A6
A7
A8
G
19
BAO
BA1
BA2
BA3
8A4
BA5
BA6
8A7
-BA14-
LSOO jO-
LS151
2
1A1 1Y1
1A2 1Y2
1A3 1Y3
1A4 1Y4
2A4 U 2Y4
2A3 '- 2Y3
2A2 2Y2
2A1 2Y1
16
26
18
4
16
6
14
8
12
17
3
15
5
13
7
11
9
1
19
BA9 -
BA10-
BA11 -
BA15-
BA14-
BA13-
8A12-
BDO
BD1
BD2
8D3
BD4
8D5
8D6
BD7
BA11 ■
8A12-
10
8A13-
u
6
s
DO
D3
D2
D1
D4
D5
D6
D7
15
14
13
12
58725-15
20
18
10
13
14
15
16
17
21
OE
CS
I/O,
I/O2
I/O3
I/O4
I/O5
l/Oe
I/O7
I/Ob
WE
u
5
2Kx8 RAM
AO
8
A1
7
A2
6
A3
5
LA
4
A5
3
A6
2
A7
1
A8
23
A9
22
Ain
19
BAO -
8A1 -
BA2 -
BA3 -
BA4 -
BA5 -
BA6 -
BA7 -
BA8 -
BA9 -
BA10-
Figure 2. Atari 600XL 2K Memory Expansion Schematic.
ISSUE 29
ANALOG COMPUTING
PAGE 51
the XEs printed circuit board. A partial schematic for
the XL was produced. The schematic provided the
information necessary to determine pin designations
for most of J2, as shown in Figure 1. The foUowing
memory circuit was designed and built to verify the
findings of goals 1 and 2.
The project provides 2K of additional volatile mem-
ory for the XL computer. It consists of three ICs. Two
TTL circuits were used for decoding the address lines.
The address was decoded for location 4000 hex and
occupies 2K. A 24'pin 2K by S-bit static RAM chip
was used for the memory circuit. When the computer
is turned on, this RAM will be used by the XL sys-
tem for video memory. The memory circuit is shown
in Figure 2. The power connections to each IC are
shown in Figure 3.
ITEM
NO.
vcc
GND
U1
U2
U3
U4
U5
U6
20
20
20
14
24
16
10
10
10
7
12
8
NOTE: PLACE 0.1 uF CAP ACROSS Vcc AND GND OF US.
Figure 3. Vcc and Ground Connections.
The RAM chip was wired directly to the buffered
data bus and low order buffered address lines BAO
through BAIO. The high order address bits are de-
coded by U4 and U6 to provide a chip select (CS)
signal to U5. The CS signal is synchronized with the
02 clock by the first NAND gate of U4.
The CS line will go low, thus selecting the 2K
RAM chip only if the following conditions exist.
BA15 =
BAH = 1
BAB =
BA12 =
BAll =
02 = 1
The memory expansion project was built using wire
wrap sockets on a plugboard. It took four hours to
wire, using hand wire wrap tools.
After checking the wiring, the board was tested by
plugging the project onto the 600XLs expansion con-
nector. The power switch was turned to on, and oper-
ation verified by simply looking at the TV monitor.
As mentioned earlier, this extra memory is used for
video memory by the computer. An assumption was
made that, if the video was working, then the RAM
card was okay. However, if the system didn't recog-
nize the memory, then this assumption would not be
correct! To verify that the Atari did, indeed, recog-
nize the additional memory, it was simply asked with
the PRINT FRE(0) statement. The answer was 15374,
which is 2048 bytes more than without the expan-
sion card.
Conclusion.
You may remember from goal 2 that Atari's clock
is relatively fast, compared to the more typical 1 MHz
CPUs found in other home computers. Care must be
exercised when selecting components for projects.
Their access times must be short (i.e., 450 nanosec-
ond memory chips won't function properly with the
600XL computer).
The memory expansion project for goal number 3
verified the information discovered in goals 1 and 2.
I hope the J2 pinout listing and design project will
be useful to the reader, as an aid in designing indivi-
dual projects for the expansion bus. Such projects
could include digital I/O cards and A/D or D/A con-
verters, n
Mr. Barton is the Manager of Software Products for
Soft Systems Engineering, Inc. of York, Pennsylvania. He
holds a Bachelor's Degree in Electrical Design Engineer'
ing Technology and enjoys designing hardware projects
for home computers in his spare time.
Soon
ANALOG
Computing
will be
only
a phone call
PAGE 52
ANALOG COMPUTING
ISSUE 29
(continued from page 47)
A real sense of danger, excitement and a little paranoia
is possible. So Suspect has a good idea, but fails to
take that idea seriously.
Throughout the adventure, references to other fami-
liar mysteries are forever cropping up: for example,
empty window box seats and Arsenic and Old Lace.
Somehow, this adventure would be more fun, realistic
and intriguing from a mystery point of view without
these "dry humor" intrusions.
All of this leads me to a point that I feel I must
make at this time, concerning Infocom's current crop
of adventures. Are these wizards of the text adven-
ture afraid to be serious for a change? There seems
to be a cynicism underlying their adventures, from
Zork to Infidel and now Suspect. 1 haven't had the
opportunity to play Cutthroats as yet, but its pack-
aging seems to suggest more of the same.
Perhaps it's time for Infocom to consider dividing
the task of writing text adventures. There is no ques-
tion that they have the technical know-how. 1 can't
think of a software company that is even near to chal-
lenging their technical skills. Maybe they need an in-
fusion of new blood from the creative writing end of
text adventures. Seastalker and The Hitchhiker's
Guide to the Galaxy were collaborative efforts, and
it may be time to do more games along this line.
The future of text adventures is bright, and its
brightest star is Infocom. If anyone is to succeed in
bringing us more exciting adventure, I'm sure they
will be a prime source.
1 don't recommend the novice adventurer buy Sus-
pect. He or she will be more frustrated than enter-
tained by this game. I recommend The Witness, if
you want to get a taste for mystery.
If you're a seasoned gamer, and you aren't upset by
constant kidding, then Suspect may be just your cup
of tea. It is certainly complex, detailed and imagina-
tive. I just wished it took itself a little more seriously,
both as a game and an example of truly interactive
fiction. D
C ^-•^^♦^V^> Now You Can Make Your ATARI
< NEW ^
SPEAK!
• Build your own VOICEBOX • unlimited vocabulary
• Uses Allophone based speech processor
• All Radio Shack parts • For beginners and experts
• No internal modifications to computer required
• Plugs into gameports #1 and #2
• Can be used on all ATARI computers
• For instructions, parts list and sample program,
send $7.00 check or money order to:
RAK, P.O. BOX 452, STANDARD, CA 95373
Presents:
The World's Greatest Printer Utility!
MegaFont ]( +
The Complete Program Lister
and Graphics Dumper
by Richard Rognlie and
Randy Dellinger
. dandiest prooram lister . . ." Creative Computing
MORE FONTS — FASTER DUMP — FONT UPLOADER*
Allows NEC, Prowriter, Epson (w/Graftrax, RX-80, FX-80), Riteman, Gemini, Mannes-
mann Tally, Panasonic & other compatible dot matrix printers to dump Graphics 7+ and
8 screens in 3 sizes (4 on Epson) and print all control and inverse characters in fonts
provided or use your own. New Features: Adjustable margins, FAST LISTER, Font
uploader', adjustable line spacing. Font Splicer (combine 2 fonts together).
•Prowriter 8510AP w/chip, Epson FX-80 & Panasonic KX-P1092
48K disk please specify printer Only $24.95
Chip for Prowriter $15.00
*»*?
TKe Ultimate Atari Database
XLENT MegaFiler
by Jerry Kwit (Mode Mixer 2)
"I don't believe you can get better value for your
money . . ." ACE Newsletter
"Its claim to fame Is the large amounts of
records It can handle." ANALOG
XLENT MegaFiler is a very powerful and easy to use database system that can handle
over 1500 records. Allows you to define a formula, modify database records, add or
delete fields and modify field lengths. Features Report and Label generation. New
Features: Sort on multiple fields, create report subfile.
48K disk Only $29.95
Create Your Own Game Screens With
Mode Mixer 1 & 2
by Margie Bliss and Jerry Kwit
"It Is a well put together package for anyone wanting to put more
graphics modes on the screen." ACE Newsletter
48K disk Only $19.95
Improve Your Math Skills With
IjEloMPUTER
LrJsSISTED
IHrogram
by Johnny Masuda
". . . can easily complete with
the high-priced spreads . . ."
Creative Computing
CIRCLE #123 ON READER SERVICE CARD
32K disk or tape Only $19.95
Add $2.00 for shipping and handling. C.O.D. orders, $1.65 fee is added. Virginia
residents: Add 4% sales tax. Send check or money order to:
XLENT Software
P.O. Box 5228
Dept. B
Springfield, Virginia 22150
24 Hour Order Phone (703) 644-8881
Dealer Inquiries Welcome
CIRCLE #124 ON READER SERVICE CARD
SUPERPRINTER
PACKAGES
Gemini 10X and
U-Print A 319.00
Gemini 10X and
Apeface XLPS 319.00
Panasonic 1091 and
U-Print A 364.00
Panasonic 1090 and
U-Print A 279.00
Legend 880 and
U-Print A 309.00
Prowriter and
U-Print A 385.00
No additbnal ship, charges on
printer packages in Cont. USA
Bring the trivia craze home
with P.Q. The Party Quiz
Game for the Atari 800 &
800XL (disk only) 49.95
A ATARI
ATARI is a trademark of ATARI, INC.
Atari Inc. has cut all
hardware and soft-
ware prices. Please
call for latest prices!!
PRINTERS
Axiom AT-550 . . . 279.00
Epson Call
Prowriter I 309.00
Riteman Call
Silver Reed Call
Toshiba 1340 Call
Toshiba 1351 Call
Silver Reed Call
Legend 880 239.00
Panosonic 1090 . 219.00
Panosonic 1091 . 285.00
THE POWER BEHIND THE PRINTED WORD.
Gemini 10X
Gemini 15X
Delta 10X . .
Delta 15X. .
Radix 10X..
Radix 15X..
Powertype . .
245
389
339
499
.549
.629
.329
ATARI MODEM
SPECIAL
Hayes 300 &
R-Verter 239.00
Hayes 1200 &
R-Verter Call
No additional shipping for Modem
packages in Cont. USA
MOSAIC
48K RAM 99.00
64K RAM/400 . . 149.00
64K RAM/800 -i-
Cable Kit #1.. 169.00
64K Expander for
600 XL 99.95
-M- Call for prices on joysticks, printer cables, blank floppy disks, and other computer
I
W
DISK DRIVES
Indus GT Call
Percom Call
Astra 2001 Call
MODEMS
Hayes Amart
Modem 300 Call
Mark II 79.00
Mark Vll/Auto Ans/
Auto Dial Call
Mark XII/1 200 Baud.. Call
MPP 1000 C Call
R-Verter Modem
Adaptor 39.95
INTERFACES
Aid interfast I Call
Ape Face XLPS Call
R-Verter Modem
Adaptor 39.95
MPP 1150 Call
U-Print A Call
accessories. ^
R E
SPINNAKER (cont'd.)
Delta Drawing-Cart 22.95
Pacemaker -Cart 22,95
Fraction Fever-Cart 22.95
Grandma's House-D 19.95
Kids on Keys-Cart 22.95
Kindercomp-Cart 22.95
Search /Amazing Thing - D . 22.95
Snooper •! - D 22.95
Snooper '2-D 22.95
Story Machine -Cart 22.95
Trains-D 22.95
SSI
Carrier Force -D 41.95
Combat Leader-D/T 27.95
Cosmic Balance ii-D 27.95
Cosmic Balance - D 27.95
Broadsldes-D 27.95
War In Russia-D 55.95
50 Mission CrtJSh-D 27.95
Questron-D 34.95
Rails Wesl-D 27.95
Bomb Aliey-D 41.95
Computer Ambush -D 41.95
Galactic Adventures -D 41.95
Computer Baseball -D 2795
Reforger B8-D 41.95
Objective Kursl<-D 27.95
Breakthrough / Ardennes / D 41.95
Field otFire-D 2795
imperial Gaiactium-D .... 27.95
SYNAPSE
AlrSupport-D/T 23.95
Alley Col-D/T 16.95
BiueMox-D/T 23.95
Dimension X-D/T 23.95
Dreibs-D/T 23.95
Eiectriclan-D/T 23,95
Encounler-D/T 16.95
Fort Apocalypse -D/T 23.95
Necromancer-D/T 23.95
New York Cily-D/T 23.95
Pharoah's Curse-D/T 23.95
Quasimodo -D/T 23.95
Rainbow Walker-D/T .... 23.95
Relax Stress Reduction Sys. . 79.95
Shamus Case ii-D/T 23.95
Zeppiln-D/T 23.95
Syntile-D 34.95
Syncalc-D 34.95
Syntrend-D 34.95
Synchron-D 27.95
Syncomm-D 27.95
Synstock - D 27.95
D-Dlsk T-Cassette
Cart-Coitildge
ACCESSORIES
Ape-Link 29.95
Gemini lOX BK Upgrade .... Call
Koala Pad-D 69.95
Koala Pad -Cart 74.95
Humply Dump-D 29.95
Monitors Call
CompuServe Starter 27.95
Vidtex 29,95
EiS Subscription Kit 64,95
Analog Compendium 9,95
Atari Assembler 14.95
Compute's Machine
Lang/Beg 12.95
Inside Atari Dos 19.95
Mapping the Atari 14.95
Computes 1st -3rd Books
Alari-EA 12.95
Printer Stand 15.95
Omnimon 82.95
Omniview 80 39.95
Printer Ribbons Call
Ramrod XL Call
WICO Joysticks Call
MPP 64K Printer Buffer Call
U-Prtnt 16, 32, or 64K Buffer. Call
TAC III Joystick 12.95
Startighler Joystick 9.95
Ramrod XL 99.95
Muppet Keys (XL Only) - D . 54.95
ACTIVISION
Decathoion-Cort 29.95
Beomrider-Cart 29.95
Hera-Cart 29.95
Pitfall ll-Cart 29,95
River Raid -Cart 29,95
Designer Pencil -Cart 29,95
Space Shuttle- 29.95
Lone Ranger -Cart 29.95
Zenji-Cart 29.95
AVALON HILL
Call tor items and prices
BRODERBUND
Bank Street Writer-D 49.95
Lodenjnner-D 23.95
Mask of the Sun-D 27.95
Operation Whirlwind -D , , . 27.95
Spoiunker-D 20.95
Stelfh-D 20.96
Whistlers Brother 20.95
Print Shop-D 34.95
Serpent's Star -D 2795
CBS SOFTWARE
Call for items and prices
DATASOFT
Bruce Lee-D/T 27.95
Mlcropainter-D 23.95
LostTomb-D/T 23.95
Letter Wizard + Spell -D. .54.95
Conan the Barbarlan-D/T. 27.95
Mr. Do-D/T 27.95
Dig Dug-D 20,95
Pole Position -D 20,95
Pacman-D 20.95
DISKEHES
Dysan Call
Vertiatim For
Certron 10 pak
Elephant &
Maxell Quantity
Memorex Pricing.
Ultra Magnetics
BASF
Wabash
ELECTRONIC ARTS
Archon-D 29.95
Pinball Construction-D. , , .29.95
M,U,L,E.-D 29.95
Murder /Zinderneuf-D .... 29,95
One on One-D 29.95
Archon ii-D 29.95
Financial Cookbook -D 37.95
Music Consfmcflon-D . , , , 29,95
Reaim/lmpassiblilty-D , , . 29.95
Hard HatMack-D 29.95
EPYX
Call for items and prices
INFOCOM
Deadilne-D 29.95
Enchonfer-D 23.95
Infidel-D 29.95
Planetfdii-D 24.95
Sorcerer-D 29,95
Sfarcrass-D 29.95
Suspended -D 29,95
WItness-D 29,95
See Staiker-D 24,95
Culfhroats-D 24.95
Suspect-D 24.95
Hitchiker-D 24.95
Zork l-D 24.95
Zork 11 or lll-D 27.95
MINDSCAPE
Coll tor items and prices
MICROPROSE
Chopper Rescue-D/T 23.95
Fioyd/Jungle-D/T 23.95
Hellcat Ace-D/T 23,95
MIg Alley Ace-D/T 23.95
NATO Commander-D/T . , 23,95
Solo Flight-D/T 23.95
Spitfire Ace-D/T 23.95
Wingman-D/T 23.95
Air Rescue l-D/T 23.95
Chalienger-D/T 23.95
F-15 Strike Eagle - D /T. ,. .23.95
MISCELLANEOUS ATARI
DIskey-D 34.95
Ultra Disassembler- D . , . , 34.95
Codewriter-D 39.95
Star Ledgue Baseboil D/T 23.95
Star Bowl Football-D/T... 23.95
Master Type-D/Cart 27.95
Flight Simulator II-D 37.95
S,A,M,-D 41.95
Castle Wolfenstein-D 20.95
CompuServe Starter Kit. . . .27.95
Home Accountant- D 49.95
Megafont II-D 19.95
Monkey Wrench 11 -C 37.95
Movie Maker-D 37.95
Ultima lll-D 41.95
Jupiter Mission -D 34.95
Boulder Dash-D/T 20.95
Scraper Caper-Cart 34,95
Miner 2049'er-Cart 34,95
Spy Hunter- Cart /D 29,95
Tapper-Oart/D 29.95
Up 'N Down-Cart/D 29.95
Beach Landing - D 27.95
Pic Builder-D 27.95
Astrochose-D 20.95
Fllp-Flop-D/T 20.95
Sargon II-D/T 16.95
Odesta Chess-D 49.95
Mllllanaire-D 2795
Spy vs. Spy-D 23.95
Adventure Writer-D 2795
MMG Basic Compiler- D. , ,69.95
Summer Games-D 2795
Pitstop II-D 27.95
Gateway to Apshai-Cart . . 27.95
Montezuma's RevengB-D. ,27,95
Dragon/Pern -D 27.95
Adventure Master - D 34.95
Get Rich Series-D 34.95
MISC. ATARI (cont'd.)
MPP Modern Driver -D 19.95
Microflier-Cart 34.95
Microcheck-D 34.95
Mr. Do's Castle -Cart 34,95
Frogger ll-Cart 34,95
NetWorth-D 54.95
Stickybeor-D 27.95
Windham Classics -D 19.95
Omnitrend Universe - D. . . ,69.95
Space Beagle -D 23.95
Adventure Writer-D 41,95
Beachhead-D 23.95
Letter Pertect/Speil-D.... 74.95
Harcourt/Brtjce S.A.T,- , , .59.95
S.A.G.E. Graphics Editor -D 39.95
StrtpPoker-D 23,95
Mllilonaire-D 27,95
Scroll of Abadon-D 23.95
Ultima IV-D 41.95
Raid Over Moscow-S 27.95
Micro-League Bosebali-D . 29.95
Paper Cilp-D Call
Home Pok-D 37.95
Ultima II-D 41.95
OPTIMIZED SYSTEMS
Action-Cart 69.95
Basic XL-Cart 69.95
MAC/65-Cart 69.95
MAC/65 Tool Kit -D 27.95
Action Tool Kit-D 27.95
DOSXL-D 27.95
Action Ald-D 2795
C65-D 59.95
Handy-Wrlter-D Call
Postal Tool-D 41.95
Print Tool-D 41.95
SCHOUSTIC
Coll for Items and prices
SCREENPLAY
Call for Items and prices
SEGA
Call for items and prices
SIERRA ON-LINE
Cdll for Items and prices
SPINNAKER
Adventure Creotor-0 22,95
Aerobics-D 27.95
All in the Color Caves -C . . 22.95
Alphabet Zoo -Cart 22.95
To Order Call Toll Free
For Technical Info, Order
Inquiries, or for Wise. Orders -
800-558-0003 41 4-351 -2007
'^-Aif.ifi" &Qi^ •( (i,,j 'vij--:://_>
ORDERING INFORMATION. Please specify system For fast delivery send cashier's ctieck, money order or direct bank transfers. Personal and
company checks allow 2 weeks to clear. Charges for COD are $3,00, Sciiooi Purchase Orders welcome. In CONTINENTAL USA, include $3.00
shipping per software order. Include 3% shipping on all Hardware orders, minimum $3.00, fwlastercard & Visa please include card # and expiration
date. Wl residents please add 5% sales tax. Hi, AK. FPO, APO, Canadian orders — add 5% shipping, minimum $5.00. All other foreign orders,
please add 15% shipping, minimum $10.00. All goods are new and include factory warranty. Due to our low prices, all sales are final. All defective
returns must have a return authorization number. Please call 414-351-2007 to obtain an RA# or your return will NOT be accepted for replacement
or repair. Prices and availability are subject to change without notice.
COMPUTABILITY
P.O. Box 17882
Ivtilwaukee, Wl 53217
ORDER LINES OPEN
IVion-Fri 11 Alvl - 7 PM CST
Sat 12 PtVI - 5 Pfvl CST
CIRCLE #125 ON READER SERVICE CARD
BACK ISSUES
ISSUE 13 • Fine Scrolling Part 1
• Roundup • Space Assault •
Observational Astronomy • CIO
Routines
ISSUE 14 • Fine Scrolling Part 2
• Disassembler in BASIC •
Hexpad • Lumberjack • Retrofire!
.u.{;."'''-'-ilni'*^»^H»t«fs
ftlTtHtsVive Ke^qAROHAtlDLEB
ISSUE 15 • Fine Scrolling Part 3
• Knights & Chalices • Music
Synthesizer • Bricklayer's
Nightmare • Keyboard Handler
ISSUE 16 • Fine Scrolling Part 4
• Create-A-Fonl • Bar Chart
Subroutine • Shooting Stars • 3-D
Object Rotation
ISSUE 17 • Planetary Defense •
Disk Miser • Live without DOS •
Boot Camp • D:CHECK2
ISSUE 18 • Crash Dive • File'em
• Munch'in Cllmb'in • H:BUG •
Adventure Reviews
ISSUE 19 • Battle in the B-RIng •
A Look at Modems • Bulletin
Board Systems • Siege • Touch-
Tone- Dialer
ISSUE 20 • Buzz-zap! • Scredit •
AlterDOS • Bacterion! • ConTEXT
ATARI PRINTER
UTILITIES!
:™".,, •»»« •■"•.'•'-■•■•■
ISSUE 21 • Selecting your Perfect
Printer • Matt •Edit • Graph E's
• Spy Plane • Printer Survey
Erhimtloii 1
nnti tlio Atari ^
ISSUE 22 • Math Attack •
Micro-Puzzler • Typing Evaluator
• Air Attack • Mathman •
The Reading Program
ISSUE 23 • Fire Bug • Minicomp
• Dar[< Horse • Climber •
P/M Creator/Animator
BOFFO!
Unlchock
Bopotron!
Race in Space
AtariCon Roport
Circuit Datahaso
Cassotte Compressor
ISSUE 24 • Circuit Database •
Bopotron! • XL-DOS
• Cassette Compressor •
Race in Space • Unicheck
All back issues $4.00 each
Send check or money order to: Issues 25 and 26 are also available,
ANALOG Computing Back Issues along with
P.O. Box 615. Holmes. PA 19043 a limited number of issues 2 and 11.
IVlasterCard and VISA orders call:
1-800-345-8112
in PA. '1-800-662-2444
ISSUE 29
ANALOG COMPUTING
I
mi
r
^■<?
i 16KDisk
i by Philip Altman
All disk users have had the
? unpleasant experience of mistak-
enly deleting a wanted file. With
a backup copy, there's no problem.
But what if you haven't been so care-
ful.'' There's no simple way to recover a
deleted file with Atari DOS. In this arti-
cle, I present Revive, a machine language
modification iox DOS 2 .0, which gives you the
power to rescue a scratched file with ease. Revive
works with all Atari computers using Atari DOS 2.0.
Atari disk structure.
In order to understand how this program works, we will
need to discuss some aspects of the Atari disk format. A typi-
cal single-density DOS 2.0 disk is organized into 720 sectors (1
to 720) of 128 bytes each. Certain sectors are reserved for the sys-
tem, so not all are available for storing program data. The first three
sectors are the boot sectors, which are read by the operating system
when the computer is turned on.
Beginning with sector 361, eight sectors are allocated to the disk di-
rectory, which can hold up to sixty-four files. Each directory entry is 16
bytes long and, along with the filename, contains information about the
file type, its length in sectors and the starting sector number. One more
sector, the Volume Table of Contents (VTOC, sector 360), is reserved for
system use. Here, DOS keeps track of which sectors are already in use (i.e.,
assigned to files in the directory), and which are free.
The remaining 707 sectors (sector 720 is unused by DOS) are data sectors.
Each contains 125 data bytes (0-124) and 3 control bytes. These tell which
file the sector belongs to, the number of bytes in the sector and which sector
number comes next in the file. (amtinued on {xi^c 56)
Atari
-rhP definitive reference
1 ^BCs of Atari Computers
by David E. Mentley Sugg. Retail $14.95
Full of useful information witfiout being overly technical, ABCs addresses
a broad spectrum of Atari topics. Arranged in alphiabetical order many defi-
nitions are clarified witfi accompanying programs. Written in clear, concise
terms, this book can be used by beginners and experts alike. ~"| t"
When you orders a hew subscription to
ANALOG Computing, you'll receive your
choice of ABCs of Atari Computers or
Atari Roots FREE. Our supply is limited,
so send in your subscription card today!
Your choice of
At^ri Roots
by Mark Andrews Sugg. Retail $14.95
The easiest guide ever to learning Atari assembly language. Using a
"hands on" approach, you'll get started programming this fast, effi-
cient language quickly This much needed book teaches assembly
language using the Atari Assembler Editor and the popular MAC/65
Assembler Programs will work on all Atari computers.
Mail in the special subscription envelope inserted in this magazine, with your selection checked,
OR
CALL TOLL FREE
(800) 345-8112
in Pennsylvania
(800) 662-2444
THE #1 MAGAZINE FOR ATARI® COMPUTER OWNERS
C?Eyfi^k.OK3
RO. BOX 615
HOLMES, PENNSYLVANIA 19043
ISSUE 29
ANALOG COMPUTING
PAGE 57
What happens when you delete a disk file? After
processing the filename, DOS searches the disk direc-
tory for a match. If the file is found, DOS sets a bit
in the directory entry indicating that the file is de-
leted. Then DOS reads each sector in the file, finds
it in the VTOC, frees it for re-use and increments
the free sector count. The directory search continues
for the next match. If one is found, the process is re-
peated until no further matching entries are found.
How it works.
You've probably already figured out how Revive
works. The program simply reverses the DELETE
process.
First, the DOS directory search routine is instructed
not to ignore deleted entries when testing for a file-
name match. When a match is found, the file is re-
stored to active status. Then, each VTOC sector bit
for the file is reallocated as each sector in the file is
read, and the free sector count is decremented.
Revive has one important limitation. It cannot re-
liably be used if any data has been written to the disk
after a file was mistakenly deleted. The reason is that
some of the sectors freed when the file was deleted
may subsequently have been allocated to the new data
file. Revive may then also assign these sectors to the
rescued file.
Reviving.
Get started by carefully typing in Listing 1. After
proofreading the program, SAVE it to disk. Insert a
disk in drive 1 and RUN the program. A binary file,
DhREVIVE, will then be written.
For those interested in assembly language, the source
code in MAC-65 format is presented in Listing 2.
Revive is designed to be loaded from the DOS 2 .0
utilities menu with the load binary file (option L.)
command. You'll see a modified menu with the Re-
vive command (option D.) highlighted in inverse.
Enter the filename to Revive, according to DOS 2.0
syntax.
The menu reappears when the task is complete. Re-
vive responds with ERROR 168 (command invalid)
if a file isn't found or hasn't been deleted. Return to
the standard menu by selecting option M. (run at ad-
dress) and entering 179F (make sure there is a DOS.
SYS-DUP.SYS disk in drive 1). Enter E477 instead,
if you want to reboot the system. D
Listing L
BASIC listing.
10 REH REVIVE LOADER by P.flLTMAN 18/84
28 ? " iS";TRftP 130:0PEM m .8,0."D ;REVm
Ell a -7 ill in I'll V)nr*fcflTVT^7*T^lMlHili 144" * "^
30'PUT ttl,255:PUT ttl,255:PUt ttl,54:PUT
ttl,31:PUT tll,73:PUT ttl,31
40 FOR 1=1 TO 20: READ D:PUT ttl,D:NEXT
I
50 PUT ttl,181:PUT ttl,31:PUT SI, 186: PUT
ltl,31
60 FOR 1=1 TO 6: READ D : PUT ttl,D:NE»T I
78 PUT ttl,13:PUT ltl,35:PUT ni,18:PUT «
1,35
DI5K HRITE SUCCESSFULLY COMP
80 FOR 1=1 TO 6: READ D:PUT ttl,D:NEKT I
90 PUT »1,247:PUT «1,33:PUT ttl,148:PUT
111, 34
188 FOR 1=1 TO 500:TRAP 110:READ D:PUT
ttl,D:NE}{T I
110 PUT ttl,224:PUT ttl,2:PUT ttl,225:PUT
ttl,2:PUT ttl,113:PUT ttl,32
120 ? :?
IM_=ttJJ" : GOTO 140
130 ? "[aMMinioEa"
140 CLOSE t}l:END
150 DATA 77,111,100,105,102,105,101,10
0,32,38,121,32,80,46,65
160 DATA 76,84,77,65,78
170 DATA 210,197,214,201,214,197
180 DATA 82,69,86,73,86,69
190 DATA 169,49,72,169,244,72,160,2,18
5,124,29,136,281,58,288
288 DATA 248,185,124,29,281,65,144,2,1
69,49,41,3,133,33,32
218 DATA 100,17,32,158,14,169,4,141,87
,15,32,33,15,169,27
228 DATA 141,87,15,176,8,172,5,19,185,
1,28,48,3,76,191
238 DATA 18,169,66,153,1,20,173,7,19,1
0,18,157,129,19,185
246 DATA 4,28,157,137,19,185,5,20,157,
138,19,32,113,16,32
258 DATA 146,16,174,1,19,32,36,16,169,
81,141,241,16,169,56
260 DATA 141,249,16,169,233,141,250,16
,141,1,17,32,197,16,169
278 DATA 17,141,241,16,169,24,141,249,
16,169,185,141,258,16,141
288 DATA 1,17,32,23,16,144,212,32,149,
16,32,155,18,208,5
298 DATA 169,1,32,27,18,76,119,32
CHECKSUM DATA.
(see page 32)
18 DATA 268,287,681,989,153,887,38,891
,187,371,625,614,604,125,549,7181
160 DATA 727,515,48,701,281,181,774,98
,64,294,673,785,837,777,6587
Listing 2.
Assembly listing.
« REVIVE ♦
« «
» FilB Rescue Utility *
* ♦
* by Philip Altman «
* ♦
»♦» DOS EOUATES »♦»
ICDNOZ
n
»21
IDRIVE »
FNDCODE
a
»0E9E
SFNAME DECODE
SFDIR
IE
»aF21
IDIR SEARCH
RDNSO
■>
«1017
SREAD SECTOR
WRTDIR
B
»1071
!WRITE DIRECTORY
RDV60
a
»10'?2
IREAD VTOC
WRVTDC
w
»109S
i WRITE VTOC
FRESECT
B
«10CS
! FREE/ALLOC SEC
SETUP
■■
all&4
IINIT DOS I/O
DDl
B
»121B
J REWRITE BT SECS
TSTDQS
S:
»129B
STET FOR DOS. SYS
ERDVDC
a
«12BF
; INVALID CMD
CURFCB
a
»1301
(CURRENT FCB
CDIRD
B
«1305
!DIR DISPLACEMNT
3FNUH
B
»1307
JCURRENT FILE »
FCBFNO
B
ti3ai
IJUSTIFIED FILE*
FCBCSN
-
»13B9
(CURRENT SECTOR
1 »»» DUP EOUATES »•»
PAR
»
»1D7C
! PARAMETER AREA
MENU
B
»2077
1 DUP ENTRY
CIQER
-
»31F6
J CIO ERR RET ADR
1
*B
»1F36
1
1
.BYTE "Modi
•fi«d by P. ALTMAN"
*B
»1FB5
1
.BYTE +«B0,
"REVIVE"
I
♦ B
»230D
f
.BYTE "REVIVE"
PAGE 58
ANALOG COMPUTING
ISSUE 29
REVXT
DELFIL
LDfi
PHfl
LDfi
PHA
LDY
LDA
DEY
CMP
BNE
LDA
CMP
BCC
LDA
AND
STA
JSR
JSR
LDfi
STA
JSR
LDA
STA
DCS
LDY
LDA
BMI
JMP
LDA
STA
LDA
ASL
fiSL
STA
LDA
STA
LDA
ETA
JSR
JSR
LDX
JBR
LDA
STA
LDA
STA
LDA
STA
STA
JSR
LDA
STA
LDA
STA
LDA
STA
STA
JSR
BCC
JSR
>CI0ER-2 ISTACK CID
I ERROR RETURN
<CIDER-2 lADRS FOR DOS
tt2
PAR, Y
»• :
FD
PAR, Y
(I'fi
GOTNUM
«• 1
»3
ICDNDZ
SETUP
FNDCODE
*4
»li)FS7
SFDIR
«tlB
«0F57
REVXT
CDIRD
»1401, Y
DELFIL
ERDVDC
»*42
»1401 , Y
SFNUM
A
A
FCBFNO,
»1404, Y
FCBCBN,
»1405, Y
FCBCSN+
WRTOIR
RDVGD
CURFCB
»1024
lt*Sl
»l»Fl
*«3S
«10F9
(t»E9
«10Ffi
«1 lai
FRESECT
14*11
«10F1
»«1B
»ieF9
«10FA
mai
RDNSO
SECLP
WRVTOC
!FIND ": " IN
JFILE NAME
;test drive id
ibr if numeric
)DEFAULT = ltl
ICDNW FROM ASCII
ISAVE DRIVE »
; INIT DOS I/O
I DECODE FNAME
SDON'T SKIP
■DELETED FNAMES
! SEARCH DIR
JFOR DELETD FILE
! RESTORE CODE
IBR IF ABSENT
ICUR DIR DISPL
5MAKE SURE WAS
; DELETED FILE
;ELSE ERROR
IMAKE GOOD
;DDS 2 FILE
!GET FILE »
;SHIFT LEFT X2
X ISAVE FOR ID
IGET FIRST FILE
X I SECTOR It
IHAKE IT CURRENT
l.X 1 SECTOR »
(FIX DIRECTORY
I READ VTQC
) RESTORE FCB PTR
IGET CUR SEC PRM
I CHANGE FRESECT
J SO VTOC BYTES
iRE-ALLOCfiTED
)T0 FILE
; UPDATE VTOC
1 RESTORE FRESECT
;IN CASE ERROR
I IN SECTOR READ
;read nxt sector
)d0 until eof
)FIX VTOC
JSR TBTDOS
BNE EXIT
LDfi «1
JBR DDl
JMP MENU
»- «02E0
.WORD MENU
.END
I MAS IT D0S.SYS7
iSHOU DOS THERE
1 REWRITE BT SECS
SBACK TO DUP
NEXT ISSUE:
ZPLOTTER
Z=SINCXJ*C05tYi
HIGH Z=e. 99242
LOW Z=-0.9916
'' K-AKIS
\i-''' 9
"On a one to ten scale ... it's a sure bet 12!"
— CURRENT NOTES October 1984
" Visuaiizer ... as easy to use as it is useful."
— COMPUTE May 1984
AGES 10 to Adult
For any Atari'"^ with 48K and disk drive
Atari is a registered trademark of Atari, Inc.
• Audio Option Available/Narration Tape
• 28 Text Styles/Sizes Included
• 1-2-3 Color Switching Animation
• Rainbow and Sparkle Animation
• Draw/Paint/Fill Routines
• Printer Dump Routines
• Puzzle Game Bonus!
' With prepaid return within 15 days
by MAXIMUS
7-800-368-2752
6723 Whiltier Avenue McLean, Virginia 22101
CIRCLE #146 ON READER SERVICE CARD
ISSUE 29
ANALOG COMPUTING
PAGE 59
16K Cassette or Disk
by Lee Brilliant, M.D.
What do 2001 , Star Trek and Star Wars all have in
common? Among other things, they all have that
wonderful invention of the future, the talking com-
puter! 2001 had HAL, the monotone malevolent; Star
Trek's counterpart was decidedly female; and from Star
Wars, we have the proper-English-speaking C3-PO
and his "binary"-speaking (don't you speak binary?)
pal, R2-D2.
Now, your very own Atari home computer can be
in the same class as these. All you need is a few hours
and a few dollars to enter the world of Cheep Talk.
Why a do-it-yourself speech synthesizer when there
are several excellent speech products on the market
already? Well, aside from the personal satisfaction of
building it yourself, add-on devices are expensive in
money, and software speakers are expensive in RAM .
For under forty dollars, you can build your own Cheep
Talk— it's easy to use and occupies little memory.
First, a little theory.
The subject of speech synthesis is very complex,
and, though I make no pretense of this being a com-
plete discourse on the subject, you need to know some
language theory.
The English alphabet has twenty-six letters in it and
about forty separate sounds called phonemes. The rea-
son that there are more sounds than letters is that
many letters have multiple sounds, or that multiple
letters make single sounds. For example, the letter g
can be hard, as in go, or soft, as in gem.
Actually, there are hundreds of variations of these
phonemes, depending on how finely you can divide
sounds. A sound such as a hard g can have slight dif-
ferences in intonation and duration, depending on
its location within a word and which vowels it associ-
ates with. These variations of phonemes are called
allophones. Cheep Talk uses fifty-nine allophones.
PAGE 60
ANALOG COMPUTING
ISSUE 29
How sounds are formed.
If you type in SOUND 0,121,10,10, you'll get a C
note that sounds like a toy organ. The sound thus
produced is a single sine wave, and only the pitch and
volume can be changed.
Music made by the computer does not sound like
a violin or a piano. Why not? The formation of mu-
sic is more complicated, so that instruments differ
from each other in sound quality in three ways: (1)
the waveform, (2) harmonic content, and (3) the enve-
lope shape.
Waveform is the primary sound determinant. A saw-
tooth waveform sounds harsh and sirenlike in com-
parison to a sine wave which sounds purer. Sharp,
angular waves tend to have more harmonics, which
are the second determinant in sound. A harmonic
is a frequency which is a multiple (or fraction) of a
primary frequency. That is, 200 Hz (cycles per second)
is the first harmonic of 100 Hz (see Figure 1). Some
instruments, like the organ, have few harmonics, while
others — stringed instruments, for example — tend to
have more.
Finally, the envelope is the overall sound/volume
shape. A piano has a sharp rise in volume with a slow
decay time, while a violin has a slower rise in volume
and no decay, as long as the bow is moving across
the string.
-PRIMARY FREQUENCY
1ST HARMONIC
Figure
Harmonics.
Human speech is created in much the same man-
ner as music. The vocal cords provide a primary wave
shape called the glottal pulse (see Figure 2).
Figure 2. Glottal pulse.
The male pitch is around 141 Hz, while the female
pitch is around 233 Hz. As with musical instruments,
the tonal quality of a voice depends on the harmonics,
which are created by the cavities of the vocal tract,
including the sinuses, mouth, tongue, throat, etc. You
can alter the sounds of speech by altering the size of
these cavity resonators.
For example, say "aaah" while opening and pursing
your ^fps. Doing this changes the "aaah" to "oh." Say-
ing "aaah" and moving your tongue up and down
changes the "aaah" to "eeee." Some sounds, such as
"b," use the vocal cords, but some, like "s," do not.
The ones that do are called voiced sounds, and the
ones that don't are called voiceless.
If you take a look at the entire harmonics of human
speech, you find that there are two major harmonic
frequencies, plus the primary frequency, ranging from
100 to 2000 Hz. The relationship of these in volume
and pitch give speech its characteristic sounds. These
relationships, in turn, are controlled by all the parts
of the vocal tract. Human speech is a complicated
collection of variables, including wave shape, enve-
lope shape and harmonics.
How do computers talk?
There are three major ways the computer forms
speech: digital encoding, analog and linear predic-
tive coding (LPC).
Digital encoding is best compared to today's digi-
tal audio. A voice signal is chopped up into slices,
and the volume of that segment is converted from
an analog or voltage to a binary number (see Figure
3). Each byte is stored in memory. When these bytes
are read back in the same sequence and converted
back to a voltage, it is integrated into a copy of the
original signal.
To be of good quality, the signal must be sampled
at a rate double the highest frequency to be used. If
we cut off speech at 5000 Hz, then the sample rate
should be at least 10000 bytes per second! At that
rate, the word hello could use 5 to lOK of memory!
An example of this type of speech reproduction (not
true synthesis) is the phone company's automated op-
erators. While the reproduction quality is excellent,
the vocabulary is limited. SAM (Software Automated
Mouth) is a software example of this technique. It
drives the sound channels directly, in machine lan-
guage (see De Re Atari, section 7-21). Instead of a
vocabulary of fixed words, SAM's is made up of pho-
nemes which can be hooked together to give a large
vocabulary. Nevertheless, it's still memory hungry.
A
M
_
^
A
L
O
G
/
/
/
^■
\
\
1
/
\
E
V
4 8 J
i i
', k k i ^ .
5 \
h
L
DIGITAL CODE
\
Figure 3.
Analog speech is based on a low frequency pulse
generator for voiced sounds and a white noise gener-
ator for voiceless sounds. These are passed through
tunable filters to select which harmonics will go on
to the amplifier, much like today's multichannel audio
equalizers.
ISSUE 29
ANALOG COMPUTING
PAGE 61
The pitch and volume of the generators can also
be varied, giving about nine separate adjustments
which need to be continuously varied to create repro-
ductions of voice. It would be difficult, indeed, for
a human to twiddle all those knobs fast enough to
make intelligible speech.
Instead, the computer can feed the processor appro-
priate parameters. Of course, the more frequently you
feed the parameters, the more accurately you can de-
fine the sounds, and the more intelligible the speech.
Also. . .the more memory is used. Thus, when a series
of computer-defined parameters is passed to the pro-
cessor, it sounds like speech.
LPC is somewhat "between" the two previous tech-
niques. In structure, it is similar to analog synthesis
using parameters to control I2-stage filters, volume
controls and oscillator frequencies. Speech produced
is better than analog, because the sample rate is high-
er. But, despite the high sample rate, computer mem-
ory requirements are very low.
This feat is accomplished by an onboard micropro-
cessor and 8 to 16K of built-in ROM. The processor
calculates most of the control settings based on com-
plicated formulae in its ROM. So, while the control
parameters may be updated from ROM every twenty
or so milliseconds, the onboard microprocessor is cal-
culating hundreds of intermediate values.
Your Atari doing the same thing in BASIC would
take five to ten minutes to calculate what the speech
processor does every twenty milliseconds. In this man-
ner, the LPC system greatly improves the sample rate
and the quality of speech, without the memory over-
head of the digital system.
The SP0256-AL2 speech processor used in Cheep
Talk is of the LPC type, as is the Texas Instruments
Speak 'n Spell. LPC speech is not truly synthetic,
because the control settings are obtained from digi-
tally encoded speech patterns, and so are modeled af-
ter an original source.
The SP0256-AL2 does not have a fixed vocabu-
lary; rather, it has a set of allophones programmed
into its ROM which can be strung together to make
words. Vocabulary is almost unlimited.
Building Cheep Talk.
Construction is fairly straightforward. Except for the
22pf capacitors, all parts are available at Radio Shack.
The manufacturers of the SP0256-AL2 call for a 3.12
MHz crystal which can be specially ordered, but I used
a 3.579 MHz color TV crystal without any difficulty.
Be sure you get the right speech chip; Radio Shack
carries two versions of the SP0256 speech processor.
The 28-pin socket and all components should be
soldered in place before the integrated circuit is in-
stalled. Wiring can be done on perf board with point-
Attention Programmers!
ANALOG Computing is interested in programs, articles, and software review sub-
missions dealing with the Atari home computers. If you feel that you can write as
well as you can program, then submit those articles and reviews that have been
floating around in your head, awaiting publication. This is your opportunity to share
your knowledge with the growing family of Atari computer owners.
ANALOG pays between $30.00-$360.00 for all articles. All submissions for pub-
lication must be typed, upper and lower case with double spacing. Program listings
should be provided in printed form, and on cassette or disk. By submitting articles
to ANALOG Computing, authors acknowledge that such materials, upon accep-
tance for publication, become the exclusive property of ANALOG. If not accepted
for publication, the articles and/or programs will remain the property of the author.
If submissions are to be returned, please supply a self-addressed, stamped enve-
lope. All submissions of any kind must be accompanied by the author's full address
and telephone number.
Send programs to:
Editor, ANALOG Computing, P.O. Box 23, Worcester, MA 01603.
PAGE 62
ANALOG COMPUTING
ISSUE 29
to-point wiring or on a printed circuit. If you're into
making your own board, then use the pattern shown.
After all parts except the chip are installed, wire
in the joystick plugs. If you can obtain a couple of
cords from old joysticks, and if they have all six wires
called for, then use them. Otherwise, use 9-pin plugs
and 6 -conductor ribbon cable made by splitting the
25 -conductor cable (see parts list).
Pinouts.
Connections for the joystick plugs are simple. If you
are using the printed circuit, then the connections
are numbered 1 to 4, plus 7 and 8. These correspond
to the pin numbers on the plugs.
Figures 4, 5 and 6 show the actual pin connections.
The views of the plugs are looking at the end which
interfaces with the computer, so that the cable goes
away from you. The term port A corresponds to joy-
stick plug 1; B is plug 2.
DATA LINE 4
DATA LINE 3
DATA LINE 2
DATA LINE 1
ACCEPT LOAD (ALD)
LOAD REQUEST (LRQ)
DATA LINE 6
DATA LINE 5
5
4 3
• i
1
• • • •
5 4 3 2
• • • •
9 8 7 6
1
+5 VOLTS
GROUND
Figure 4.
Joystick plug 1.
+ 5 VOLTS
GROUND
Figure 5.
Joystick plug 2.
The hoods for these plugs will not fit the computer
without your removing the tabs at the ends, which
hold the plug. Therefore, you need to use small flat-
head machine screws to secure the plugs to the hoods.
Double check the order of your pin connections and
verify that no solder has bridged any connections on
the circuit board. Mount the circuit board and ear-
phone jack in the box and attach the audio output
leads to the jack. Make an opening for the joystick
cables and label the plugs, so you put them in the
right sockets.
Internal arrangement of the Cheep Talk voice synthesizer.
Triple check all wiring, then install the chip. Note
that there is a small dot on the top of the chip over
pin 1. Locate the chip properly and install in the
socket by pushing gently and evenly, being sure not
to bend any pins. While digital chips are very forgiv-
ing of wrong wiring, they give up when faced with
static electricity. So ground yourself before handling
the chip and leave it in its black conductive foam un-
til the last minute. Close up the case.
n
n-
JOYSTICK
PIN
PIN 4
PLUG #2
FUNCTION
ACCEPT LOAD
CHIP
PIN
9
SPO-
256
CHIP
PIN
18
PLUG #1
FUNCTION
PIN
DATA 1
JOYSTICK
PIN 1
PIN 3
LOAD REQUEST
20
17
DATA 2
PIN 2
PIN 2
DATA 6
13
16
DATA 3
PIN 3
PIN 1
DATA 5
14
15
DATA 4
PIN 4
+5 VOLTS
+5 VOLTS
PIN 7
1
PIN 7
-n
-n
PIN 8
GROUND
GROUND
PIN 8
Figure 6. Pinout schematic.
ISSUE 29
ANALOG COMPUTING
PAGE 63
Once assembled, plug in the joystick cables and con-
nect up to an amplifier. I use a small unit sold by Ra-
dio Shack, which has its own amplifier and speaker
in a compact case. You can also connect Cheep Talk
to your Atari's cassette audio input line, so it will play
through the TV.
To do this, either put a clip lead on pin 11 of the
serial jack, or open the plug on your serial cable and
solder a wire to the number 11 connector, bringing
it out the back of the plug. Attach it to the center
lead of a miniature phone plug and connect to Cheep
Talk. No ground wire is needed.
If the volume isn't enough, jump C3 to pin 24 of
the IC and eliminate C2 and R2. Stay away from
stereo equipment or plug-in amplifiers, unless they're
properly grounded or isolated. Failure to heed this
warning may fry your computer! Power for Cheep Talk
comes from your Atari through the joystick ports.
2 4 6 8 10 12
• ••••••
13 5 7 9 I 13
PiN 11
CASSETTE AUDIO INPUT
Figure 7. Serial plug.
Using Cheep Talk.
To use your new toy, just type in the short program
and run it with Cheep Talk installed. If everything
is right, the computer should talk to you and say,
"Hello. This is ANALOG Computing magazine
Cheep Talk." If it doesn't, recheck all wiring, espe-
cially the order of the wires in the joystick plugs and,
finally, your program typing. If it works, onward!
T) make Cheep Talk say what you want, we must
return to language theory briefly. The SP0256-A2
has fifty-nine allophones (or speech sounds), and five
pauses numbered to 63 . The trick is to know which
ones to use.
Table 1 contains a listing of the allophones by pho-
netic groupings. Don't worry, it's not that hard. Td
code a word into data statements, you first need to
break the word down to its sounds. Spelling has no
bearing on sounds! For example, you will find no let-
ter c. Instead, you use s if it is a soft sound, and k
if it is hard.
Now refer to the chart in Figure 8. First of all, there
are two major phonetic divisions: vowels and conso-
nants. You know — a,e,i,o,u and consonants. In turn,
there are three types of vowels: long (like in bE), short
(like in bEd) and diphthongs or blends (like in bEAr).
(continued on next page)
Table 1.
AUophone listing.
PAUSES
CONSONANTS continued
10 ms
(PA1)
Before p, f, k. ch and between words
STOPS ~ UNVOICED:
1 30 ms.
(PA2)
Same
p 9
(PR)
Please, amPle, triP
2 50 ms-
(PA3)
Same
t 17
(TTl)
Before s and in final position blends with other
3 100 ms.
(PA4)
Between clauses and sentences
consonants: gaTeS, STop
4 200 ms.
(PA5)
Same
13
(TT2)
ALI other positions
VOWELS
k 42
(KK1)
Before vowels a. a, e, e, 1, i, u. er, air, ear, and initial
SHORT:
blends with other consonant: Cute, Kit, Came,
sCream, Clown
* a 26
* e 7
* i 12
* 24
* u 15
LONG:
a 20
e 19
i 6
53
u 22
31
(AE)
(EH)
(IH)
(AA)
(AX)
bAt, mAp
sEt. tEnt
sit, kitten
pOt, mOp
Up, lApel, truck
41
8
(KK2)
(KK3)
Final position and final blends with other consonants:
speaK, cliCK, taSK
Before vowels ar, aw, o. oi, or, u, uh. and in initial
FRICATIVES "~
blends with consonants: Coin. Collide, sCream, Clown
VOICED:
(EY)
(lY)
(AY)
(OW)
(UW1)
(UW2)
cAke, grEAt, grAte
spEAk, pEEk, pEOple, pennY
kite, skY, might
gO, snOW, close, zOne
After y sounds: yOUth
In monosyllable words: twO, 100, tO,
shOE, fOOd
V 35
dh 18
54
z 43
zh 38
FRICATIVES -
• f 40
(VV) Vest, prove, eVen
(DH1) Initial Ih sound: THis, THey, THen
(DH2) Final position and between vowels: baTHing
(Z2) Zoo. phaSE
(ZH) belGE, pleasure
VOICELESS:
(FF) Find, Finger
DIPHTHONGS (BLENDS)
* th 29
(TH)
THin, WITH
R COLORED:
* s 55
(SS)
Sit, Single
ar 59
(AR)
fARm, gARment
sh 37
(SH)
Shirt, wiSH
air 47
(XR)
tlAIR, stARE
h 27
(HH1)
Before vowels a, a, e, e, /, ear, air. Hat, Hair
er 51
(ER1)
stlRring, lURniture, leltER
57
(HH2)
Before vowels o, oi. u, uh, aw, or, ar Harm, Hoist,
52
(ER2)
In monosyllable words: blRd, fERn, bURn
Home
ear 60
(YR)
tlEAR, pEER, IRresistible
wh 48
(WH)
WHite. WHim, twenty
or 58
(OR)
fORturn, stORe
RESONANTS
OTHERS:
w 46
(WW)
We, War, language
* aw 23
(AO)
AWIul. sOng, tALk
r 14
(RR1)
Initial position: Red, Robot, WRite
oi 5
(OY)
voice, tOY
39
(RR2)
In initial blends with consonants: BRown, GRease,
ow 32
(AW)
sOUnd, dOWn
In the middle, use R-coiored vowels.
* uh 39
(UH)
cOOkie, full
1 45(LL)
Like,
ul 62
(EL)
litlLE, angLE. gentLE
heL-
CONSONANTS
Lo,
STOPS — VOICpn-
sleeL
b 28
(BB1)
Final position, between vowels and in
consonants: rJB, flBer, BLend
blends with other
y 49
25
(YY1)
(YY2)
in blends: bEAuty, comp(Y)uter, c(Y)ute
Initial position: Yes, Yarn
63
(BB2)
Initial position before a vowel: Bat
NASALS
d 21
(□01)
Final position: saiD, enD
m 16
(IVIIVI)
Milk, alarfvl, afvlple
33
(DD2)
Initial position and in blends with other consonants:
n 11
(NN1)
Before vowels a, a, e, e, i, i, u. u, er, ear, ow, air, and
Down. DRain
final consonant blends: Name, Now, Nervous, earN,
9 36
(GG1)
Before the vowels a, e, e. i. ear, and air. Gear. Gift.
turN
Gate
56
{NN2)
Before vowels o,o,oi, or, ar, uh: Note, North, Noise
61
(GG2)
Before the vowels o, oi, u, u, uh. and
other consonants: Gun, GReen
in blends with
bg 44
JH-CH
(NG)
striNG, aNGer
34
(GG3)
Before the vowels a, i. o. ar, er. or, aw, ow, blends in
|h 10
(JH)
fuDGe, injure
the middle of words, and final position: Gap, aGRee,
ch 50
(CH)
CHurch, CHeer, feaTure, matCH
peG
* These sounds
can be doubled for long sounds.
PAGE 64
ANALOG COMPUTING
ISSUE 29
The finished Cheep Talk synthesizer.
Consonants are either stops, which are short, ex-
plosive sounds Uke buh or guh, fricatives Uke v, reso-
nants Uke r, or nasals like m, which you can't say with
your nose pinched. Stops and fricatives can be voiced
or voiceless, depending on whether the vocal cords
are used — as in b or whispered like p. There are two
consonant blends which do not fit: ch and j, because
they are both fricatives and voiced stops.
To use Table 1, you must break your words down
into sounds. Decide if each is a vowel or consonant,
and which type, then look it up in the table. Some
sounds have several versions, such as g, so read the
short rules next to the sound. Once you have the right
sound, find its number and place it in order in the
data statement. Also included are the phonetic code
and some example words.
Let's try "hello." The sounds are h, e, I, o. H is a
consonant, a fricative type, which is voiceless. Its num-
ber is 27. There are two h sounds. Number 27 goes
with the short e (code EH), while 57 goes with other
vowels. The e is a short vowel whose number is 7;
I is a resonant consonant numbered 45; and, finally
o is a long vowel numbered 53. So "hello" is really
27,7,45,53. The dictionary that comes with the chip
adds an extra vowel before the o. Some experi-
mentation may be needed. Pauses are sometimes used
within words so look at these, too.
Running the program.
Cheep Talk interfaces with the computer through
the joystick ports. One pair of joystick ports make up
a single 8-bit input/output port, and each bit of this
port can be set to either send or receive. Line 10 sets
this up for joysticks 1 and 2 (you can use locations
54017 and 54019 for joysticks 3 and 4 on the Atari
400s or 800s).
The first 7 bits of the port are set to transmit, and
the eighth bit to receive. The sixty-four allophones
and pauses use the first 6 bits to code them in bi-
nary. By dropping from +5 volts to 0, bit 7 tells the
processor that an allophone number is on the first
six lines. The processor accepts the load and begins
WORD
SOUNDS
VOWELS
SHORT
LONG
DIPHTHONGS
STOPS
VOICED I I UNVOICED
CONSONANTS
FRICATIVES
RESONANTS
VOICED
UNVOICED
NASALS
JH/CH
CHECK RULES IF SEVERAL
ALLOPHONES EXIST
FOR ONE PHONEME
FIND NUMBER AND
PLACE IN DATA
Figure 8. Logic chart.
ISSUE 29
ANALOG COMPUTING
PAGE 65
PARTS LIST
#
Value
Radio
Shack #
CI
.1 pf 50 -volt capacitor
272-1069
C2
.02 ]i{ 50-volt capacitor
272-1066
C3
1 pf 16 -volt capacitor
272-1434
C4,C5
22 pf capacitors
ICl
SP0256'AL2 speech chip
276-1784
Jl
miniature phone jack
274-251
Rl
lOOK V4-watt resistor
271-1347
R2
33K Vi-watt resistor
271-1341
R3
lOK Vi-watt resistor
271-1335
XTALl
3.579 MHz TV crystal
272-1310
MISCELLANEOUS
2
9 -pin female D plugs
276-1538
2
hoods for plugs
276-1539
1
ribbon cable
278-772
1
plastic case
270-222
1
circuit board
276-162
1
28 -pin DIP socket
276-1997
OPTIONAL
Amplifier
277-1008
talking. At the same time, it sets its load request (LRQ)
line to high, until it's done making its sound.
Program Line 130 reads LRQ on bit number 8 and
keeps the Atari from forcing a new load until the
processor is done. When finished, LRQ drops low, and
your computer responds by loading the next allophone
address and strobing bit 7. This "handshaking" keeps
things in order.
One final word — as with most other new areas of
exploration, it takes a lot of practice to be good. Don't
get discouraged if, at first. Cheep Talk is hard to grasp;
just keep at it. If nothing else, you might understand
why English is one of the most difficult languages to
master. . .especially to those who speak German or
Spanish, where there are twenty-six letters and only
twenty-six phonemes!
The uses for Cheep Talk are many. Consider the
possibilities of programs for the unsighted, instruc-
tional tutorials, verbal instructions for your programs,
or interactive games. Beam me up, Scotty! D
(Program listings and circuit board
design start on page 66)
Reference: Electronically Speaking: Computer Speech Generation. John
P. Cater, publ. Howard W. Sams & Co. 1983.
P+5V
-" f — f-
LRQ
^
ALD
DATA
7 19 23
20
D1-D6
18-13
R1
-^vV-|
100K
SP0256-AL2
1 22 10 11
C1
.iHf
r~r7
R2
AAAa
33K
C3
1uf
-O-
V
XTAL1
C4
H 22 pf
C5
C2 O
.02 pf
Jl
m
Cheep Talk Schematic.
PAGE 66
ANALOG COMPUTING
ISSUE 29
Listing 1.
188 P=PEEKC54818) :POKE 54818, P-4: POKE
54816, 127 .'POKE 54818, P
110 TRAP 588
128 FOR 5=1 TO 99: READ
138 IF PEEKC54816]>128 THEN 138
148 POKE 54816,0+64 :POKE 54816, D:NEKT
S
298 DATA 27,7,45,15,53,4,4,18,12,55,55
,55,3,12,43,3,26,11,15,15,45,24,24,1,3
4,3,8,24,16,8,9,22,13,12,44,55,3
388 DATA 58,19,1,9,3,13,23,23,1,41,8
580 END
CHECKSUM DATA.
(see page 32)
188 DATA 46,781,119,984,847,978,968,34
,4581
Listing 2.
First Words.
8 REH MICMKMKlCKlCmCKMMMlCMMmCKKlCM
1 REM » FIRST WORDS »
2 REM * by Lee Brilliant MD. *
3 REM » for CHEEP TALK »
4 REM « 1984 «
18 GOTO 188
28 READ
N
25 FOR S=l TO N:READ D
38 IF PEEK(54816)>127 THEN 38
35 POKE
54816, D+64:P8KE 54816, D
NEXT S
:A=1>'1:P0KE 54816, 64:P0KE 54816
,8:RETU
RN
48 DATA
4,43,68,53
49 DATA
3,46,15,11
58 DATA
2,13,31
51 DATA
4,29,14,19
52 DATA
3,48,48,58
53 DATA
5,48,48,6,35,2
54 DATA
7,55,55,12,12,2,41,55
55 DATA
7,55,55,7,7,35,12,11
56 DATA
3,28,2,13
57 DATA
4,11,24,6,11
65 DATA
1,28
66 DATA
2,63,19
67 DATA
3,55,55,19
68 DATA
2,33,19
69 DATA
1,19
78 DATA
4,7,7,48,48
71 DATA
2,18,19
72 DATA
4,28,1,2,58
73 DATA
2,24,6
74 DATA
3,18,28,28
75 DATA
3,42,7,28
76 DATA
3,7,7,62
77 DATA
3,7,7,16
78 DATA
3,7,7,11
79 DATA
1,53
88 DATA
2,9,19
81 DATA
3,42,49,31
82 DATA
1,59
83 DATA
4,7,7,55,55
84 DATA
2,13,19
85 DATA
2,49,31
Cheep
Talk
1984 Brilliant Software
Cl
I
1 o
(^
-R3-
>l»
IC 1
Xtal
I
-C4-
-C5-
I C2'^ \udio
gr
+ v
43 2187 78432 1
PORT B PORT A
Cheep Talk
Printed Circuit Board Layout.
ISSUE 29
ANALOG COMPUTING
PAGE 67
86 DATA 2,35,13
87 DATA 7,33,15,1,63,62,49,31
88 DATA 6,7,7,2,41,55,55
89 DATA 2,46,6
99 DATA 2,43,19
95 DATA 18,14,23,44,3,42,19,4,4,17,39,
6,4,15,2,36,7,7,11
188 P=PEEK (54018) : POKE 54018, P-4 :POKE
54016, 127: POKE 54018, P
110 X=7:Y=3
120 GRAPHICS 18: POKE 712,44:G05UB 500
125 POKE 16,64:P0KE 53774,64
150 OPEN ttl,4,0,"K:"
160 GET ttl.K
170 IF PEEK(694)=128 THEN POKE 694, 0:K
=K-128
180 IF PEEK(7e2)<>64 THEN POKE 702,64:
If— K— 32
200 IF K>47 AND K<59 THEN 230
210 IF K>64 AND K<91 THEN 230
220 SOUND 1,100, 10, 10:A=l^l:S0UND 1,20
0,10,10:A=lAi:S0UND 1,0,0,0 :REST0RE 95
:GOSUB 20: POKE 764, 255: GOTO 160
230 POSITION K+2,Y+2:? tt6;CHR$(K)
240 RESTORE K:GOSUB 20
250 X=INTCRND (01*16} : Y=INT (RND(0]#8) :?
tt6;"lf":G0SUB 500:P0KE 764,255:G0T0 16
500 POKE 712, 4+16«INT (RND (03«16) : POKE
708 , 16»INT (RND (0>»16] +10
510 COLOR 42: PLOT }<,Y:DRAMTO X+4,Y:DRA
HTO X+4,Y+4:DRAHT0 X,Y+4:DRAHT0 X,Y:RE
TURN
DISK WIZARD n
THE MOST COMPLETE UTILITY PACKAGE
FOR ATARI* COMPUTERS AT ANY PRICE
100% MACHINE LANGUAGE -SINGLE LOAD -MENU DRIVEN
THIS USER FRIENDLY PACKAGE INCLUDES THE FOLLOWING POWERFUL
PROGRAMS FOR THE ATARI' 400/800/XL SERIES COMPUTERS (40K REQUIRED)
DISK BACK-UP — SINGLE/DOUBLE DENSITY • SUPPORTS 1 OR 2 DRIVES
• ALLOWS BACKUP OF DISKS PROTECTED BY BAD SECTORING • FAST
COPY OPTION • SECTOR STATUS SUMMARY • OPTION AL PRINTOUT OF
SECTOR STATUS • DISK MAPPING
DISK EDIT - SINGLE/DOUBLE DENSITY • DISPLAY/MODIFY/PRINT ANY
SECTOR • SECTOR DISPLAYED IN HEX ASCII/ATASCII • WORKSWITH
ANY FORMAT • SCAN SECTORS FOR A SERIES OF BYTES OR A STRING
• DISPLAY/PRINT DIRECTORY • TRACE/REPAIR FILE LINKS • RECOVER
AND AUTOMATICALLY VERIFY DELETED FILES • FORMAT DISKS WITH
AUTOMATIC LOCK OUT OF BAD SECTORS • DECiMAL/HEX NUMBER
CONVERSION
DISASSEMBLER — single/double density • disassemble from
DISK BY SECTOR NUMBERS • DISASSEMBLE COMPOUND BINARY F ILES
BY FILE NAME • OUTPUT TO SCREEN OR PRINTER • SELECTABLE
MNEMONIC DISASSEMBLY WITH OVER 400 STANDARD ATARI MEMORY
LOCATION NAMES
DISK SPEED — VERIFIES/ALLOWS ADJUSTMENT OF DISK SPEED • BAD
SECTORING (BIO ONLY)
INCLUDES COMPREHENSIVE MANUAL WITH MANY USAGE EXAMPLES
ORDERING INFORMATION
For last deliverv, send certified
check or money order.
MASTERCARD & VISA accepted._
(N.Y. Residents add 7% sales lax)"
Ptione orders accepted on C.O.D.
and charges.
'^^^^S| VISA'
$29^ /^^^
SOFTWARE. INC.
10O QUARTZ WAY
SYRACUSE, N.Y. 13219
ORDERS TOLL FREE
1-800-732-0320
Info, and N.Y. Residents
1-315-488-0485
CHECKSUM DATA.
(see page 32)
DATA 1,415,675,809,718,11,435,332,13
2,511,895,198,179,859,162,6332
52 DATA 177,733,157,314,966,264,585,89
6,199,893,603,411,865,396,681,8140
74 DATA 155,983,154,160,153,611,706,17
8,598,444,879,895,893,194,799,7802
89 DATA 709,878,763,46,485,948,639,273
,568,348,319,543,525,861,291,8196
240 DATA 309,458,155,119,1041
r-
MOVING?
DON'T MISS A SINGLE ISSUE.
Let us know your new address right away. At-
tach an old mailing label in the space provided
and print your new address where indicated.
QUESTION ABOUT
YOUR SUBSCRIPTION?
Check the appropriate boxes below:
D New subscription. Please allow 4-8
weeks for your first copy to be mailed.
D Renewal subscription. Please include
a current address label to insure prompt
and proper extension. □ 1 -year $28.00.
This rate limited to the U.S.A. and its
possessions. D Payment enclosed or
— 1
D Bill n-
ie.
1 1
«
J
O) 1
CO 1
o. ;
CO 1
CO i
Q- :
',— 1
N [
d m
■ t5
1
CO 1
CO ■
1 Z
CO
1
o 1
1 1-
o
J ATTACH
"CI I
"O 1
■ 3
a>
1
cts ■
1 Q-
1 LABEL
<=> 1
1 O
<
a.
a> 1
S 1 HERE
o 1
1 ^
VI
w I
■— 1
1 <5
1 o
0)
E
CL ■
1 _l
o
1 <
X
ca 1
1 z
^
-£Z 1
1 <
in
(O
o '
cz 1
1 1-
X
o
CO 1
1 _l
DQ 0) oj ' 1
-Q J
1 <
'-' CO -D -t^ ■
1 s
Q. Z < O 1
1
-J
CIRCLE #126 ON READER SERVICE CARD
PAGE 68
ANALOG COMPUTING
ISSUE 29
GEM screen © 1984 Digital Research.
by Arthur Leyenberger
Welcome to the first installment of
The End User. This will be a regular
column in the pages of ANALOG
Computing that will bring you news, in-
formation, application tips, short re-
views of useful or significant products,
or whatever else seems of interest to me
or you. We may even do a little gossip-
ing and philosophizing.
ANALOG Computing already brings
you excellent programs and program-
related information each month. My
goal is to make the End User column
a place where you can find information
on how to get the best from your Atari
computer, regardless of how experienced
you are, or how much equipment you
have. I welcome your input on what
topics you would like to see covered in
the coming months. Send correspon-
dence to the address given at the end
of this column.
The entire line of Atari's new ST com-
puters, based on the Motorola MC68000
microprocessor, will use the new Graphics
Environment Manager (GEM) software
from Digital Research. The Atari 130ST
and 520ST computers use a proprietary
operating system developed jointly by
Atari and Digital Research. According to
Sam Tramiel, Atari chose the GEM in-
terface because it represents the most ad-
vanced microcomputer technology and it
makes personal computers easy to learn
and use.
GEM software eliminates the need for
cryptic operating system commands by
presenting the user with a pictorial rep-
resentation of a desk's surface. Familiar
icons of disks and a wastebasket appear
on the desktop, while folders and docu-
ments appear in user-controlled windows.
B^ simply moving the mouse and click-
ing its button, the user can open a file,
run a particular software program, delete
a file or do anything else allowed b^ the
operating system.
In order to better understand the GEM
operating environment, I am pleased this
month to present an exclusive interview
conducted with Rob LdTulipe from Digi-
tal Research. Rob is a Product Line Man-
ager with DR and was gracious enough
to talk about their affiliation with Atari
and the new GEM operating system.
AL: Digital Research has created the
Graphics Environment Manager (GEM).
Please tell us about it.
RL: Let me first differentiate between
our software and the other programs be-
ing shown on the ST family. We basi-
cally worked on two software projects.
First, the TOS operating system which
ISSUE 29
ANALOG COMPUTING
PAGE 69
is a proprietary implementation for the
Atari ST computers.
Now GEM, as a graphics user inter-
face, is a portable operating system ex-
tension. We have been working on
GEM for well over a year as a graphics
user interface for MS-DOS and PC-
DOS. Written primarily in C, we were
able to easily take that technology and
recompile it, port it over, for the TOS
68K environment on the ST family.
So those were the two projects. . .one,
to create an Operating System (OS) for
the 68K chip to Atari specifications; and
two, take the technology that we were
already developing for our commercial
use in the DOS world and move that
over to the new environment.
AL: How does the GEM operating sys-
tem differ from the Apple Macintosh oper-
ating system environment?
RL: In terms of what is in the Mac,
there is an OS and there is a graphics
user interface capability. Here there is
TOS, or on a PCjr for example, MS-
DOS, and a graphics user interface em-
bodied in GEM. Other than there be-
ing an analogy between software pieces
that essentially do the same thing, there
is not a great deal of similarity in terms
of the call systems.
AL: Does GEM put a large burden on
the Motorola 68000 microprocessor, or
does it use a lot of the support chips that
the Atari ST computer has which, perhaps,
the Mac and the IBM don't have?
RL: GEM itself is not hardware de-
pendent. That is, it is truly portable. It
takes advantage of hardware, in the
sense that at the core of GEM is what
is called the virtual device interface,
which is a concept that has been deve-
loped over a period of several years.
Digital Research was actually the first
company to ship a VDI in the micro-
computer world (our GSX product) two
years ago, so we were a pioneer there.
In fact, IBM now has their own VDI as
well, so it is a common concept in the
MS-DOS world, and is the subject of
much ANSI (American National Stan-
dards Institute) committee activity.
AL: What, actually, does a VDI perform
within the computer?
RL: The purpose of the VDI is to al-
low a programmer and software to deal
with an abstract conceptual concept of
space, within which graphics are drawn,
and let software device drivers translate
what is program into actual device
output.
For example, our GEM draw product
is written in a 16K by 16K unit coor-
dinate system where drawings can be
made, and yet that can be translated by
loading in a particular software device
driver and can be output to a screen or
a printer or a polaroid palette camera
(which we have a driver for in our IBM
retail product). Programmers need not
concern themselves with the actual phy-
sical device. They would load in a work-
station as part of the programming code
to identify what kind of device it is that
the graphics are currently being written
to.
AL: So it is really designed with port-
ability being the major thrust of the soft-
ware system?
RL: Yes. That's how we were able to
move it quickly over to TOS when the
time came.
GEM itself
is not
hardware
dependent. , ,
it is truly
portable.
AL: I understand Commodore has GEM
running on their IBM clone computer
slated for the European market. Are there
different "flavors" of GEM, or is the Com-
modore implementation of GEM the same
as that seen on the new Atari ST com-
puters?
RL: Before I answer that, let me spell
out the various components of GEM.
GEM is systems software in terms of our
product called the Graphics Environ-
ment Manager. It is strictly systems soft-
ware that extends the OS.
What you see, then, be it Atari's Logo
product or the desktop application for
the ST computers, are mainly applica-
tions. The metaphor that allows end
users to vistially look at a desktop, rather
than having to think about OS com-
mands, is itself an application. It is not
GEM itself, but rather the GEM desk-
top application.
What you see, in fact, is something
where, because we have a system of
resource and image files supporting the
main program, you can literally swap a
file in a few seconds and go from a
French desktop to an English desktop,
or a desktop with a certain selection of
icons to one with an entirely different
set of icons. So, what you see visually
is extremely malleable and can vary from
time to time. In terms of the icon set
that Digital Research will ship with its
DOS products. Atari has the choice of
using our set or their own set — that may
look completely different.
AL: It sounds like Atari can use whatever
set of icons they want to and may, in fact,
change the icons as they market the com-
puter for different countries. The applica-
tion is really like a second layer of the user
interface, and one with which the user in-
teracts. Is that basically correct?
RL: The GEM desktop application is
a special application on the Atari ST
computers because it is designated, with-
in the GEM system software, as being
the primary application. But someone
else, another OEM, could do a different
kind of metaphor that they want all ap-
plications to return to when it's finished
executing, and designate that as the pri-
mary application. That would be equally
valid.
It is just that we ourselves have felt
strongly that the key functional appli-
cation in any work session is something
that will manage and interact with your
disk files. So that is what the GEM desk-
top does.
AL: So does that mean that, if I have an
Atari ST computer at home and, say, a
Commodore PC using GEM at the office,
I am going to see the same desktop in both
cases?
RL: It will depend on the company in-
volved. Digital Research is not involved
in the decision on the part of either of
those companies— or any other OEM,
for that matter— how they implement
the desktop metaphor.
AL: Coidd it be the same desktop appli-
cation, or is that ivhat you are licensing to
the Itardware manufacturer?
RL: Digital Research will license to
OEMs, and are actively doing it now in
the MS-DOS world, a certain desktop
with a certain look. The OEMs are wel-
come to use that as is, and there may
be some good marketing reasons to do
so, but they are also more than welcome
to change the look of it in terms of
PAGE 70
ANALOG COMPUTING
ISSUE 29
changing the icons or that resource file.
So Atari could choose to be the same
or be different, depending upon their
marketing orientation.
AL: So functionally it may be the same,
but it may appear different?
RL: Yes, exactly. All GEM applica-
tions can take advantage of what Atari
is calling drop-down menus, which des-
ignates a different — and, we feel, better
— way of functioning than what we have
seen in other graphics user interfaces.
AL: What are the major components of
a graphics user interface?
RL: The graphics user interface the-
ory, which has been in the process of
evolution for the past twenty years, has
four components: overlapping, scrollable
windows; forms; icons; and menus. Ap-
ple did not invent it with their Mac, but
they were the first to popularize it.
AL: As an IBM PC user, can I go out
today and buy GEM for my PC?
RL: GEM is geared primarily to soft-
ware application solutions, so the answer
is yes, but what you will really be doing
is going out and buying a productivity
application like GEM Draw.
Apple did not
invent it (the
graphics user
interface), . .
but they were the
first to popularize
it.
There is a new product for the 8-bit
Atari XE computers called Infinity. It is
an integrated product from Matrix. Ma-
trix is committed to GEM for the ST
family, and if they decide to market it
in the MS-DOS world— which is their
prerogative, if they buy the license— you
could buy, say, GEM Infinity for the
IBM.
Digital Research will also market
GEM and assorted GEM applications,
so end users will have a lot of ways to
get GEM desktop in the IBM world. We
will provide the drivers for whatever
computer is being used to run the ap-
plication.
AL: Do you see GEM as being a new
standard?
RL: That is our goal, certainly
That's it for this month. I would like
to thank Rob for enlightening us on
GEM and what the next generation
Atari computers will be like. Next time,
I'll talk about how to take pictures of
your television or monitor.
Until next month, remember — you
are the End User! D
The End User
c/o ANALOG Computing
P.O. Box 23
Worcester, MA 01603
DISK
BREAKS?
Fast, Reliable Repair
for Atari 810 & 1050
Disk Drives
■ 3 Day Turnaround
■ 90 Day Warranty
■ $85 Flat Rate with
Repairable Exchange
■ Spare Parts Available
Dealers — Special Rates Available
Ask about Express Expedite
Add $10 shipping & handling.
Check, MO, Visa, MC
MPS
The Disk Drive Specialists
(916) 786-6550
Call 8:00-5:00 Pacific Time
CIRCLE #127 ON READER SERVICE CARD
ATARI WRITER
KEYBOARD
TEMPLATES
Have the RIGHT
commands for your
software at your
fingertips!
• Heavy guage plastic
for lifetime of use
• "At-A-Glaiice" sum-
marizes all commands
required to learn and
operate your programs
• Symbols and function
keys explained
•The preceding copyriglil ol Alari, UK and Synapse
800 and XL Series
Syncalc, Syn File
Atari Writer
Letter Perfect
Data Perfect
1495
■ ^" each
includes shipping
Send CHECK or MONEY ORDER to:
Dept. 2, 86 RIdgedale Avenue,
Cedar Knolls, NJ 07927
New Jersey Residents include 6% sales tax.
Dealer inquiries invited.
CIRCLE #128 ON READER SERVICE CARD
RAM for ATARI* 1
Fully Assembled • Lifetime Warranty 1
48Ky52K Memory Board
For ATARI* 400
52K Addressable Memory
Easy to Install
$79.95
32K Memory Board
For ATARI* 400 or 800
$54.95
16K Memory Board
For ATARI* 800
$39.95
BUILD YOUR OWN MEMORY
48K/52K Bare Board
32K Bare Board
16K Bare Board
48K/52K Complete Kit
32K Complete Kit
16K Complete Kit
$30.00
$20.00
$10.00
$70.00
$45.00
$30.00
Add $2 Stripping & Handling
Visa & MasterCard Accepted
"ATARI is a trademark of Atari, Inc. 1
Dealer Inquiries Welcome 1
Tiny Tek, Inc.
1 Route 1 , Box 795
1 Quinlan, TX 75474
1 214-447-3025
ISSUE 29
ANALOG COMPUTING
PAGE 71
Boot
Gamp
by Tom Hudson
This issue, we conclude our coverage of the BASIC
USR function, a handy statement that puts the speed
and power of machine language to use in BASIC pro-
grams. We've looked at single- and multiple-argument
operation, modifying strings, examining and chang-
ing system memory, and setting precision timers.
This issue, we're going to look at a USR function
that will generate random numbers within specified
ranges. This can be done in several different ways,
with varying degrees of speed. We'll also see that you
shouldn't always accept the first solution you come
up with, since there may be one which is more ef-
ficient.
Random ramblings.
At one time or another, we've all used random num-
bers. Whether in games or statistical analysis, random
numbers have an important function in computing.
Would you like it if your computer chess program
made the same moves every game? 1 wouldn't — the
games would get too predictable, and the chess disk
would be quickly relegated to the "outdated program"
pile. BASIC'S random number function, RND(n), pro-
duces random numbers between zero and one, and
usually works fine for most applications.
Just for fun, assume that we're simply not happy
with BASIC'S RND function, and want one that's
more versatile. We want a function that will return
a random integer value between two given numbers,
or if only one parameter is given, between zero and
that value. We could write the function as a BASIC
subroutine, but top speed is essential. We need to
write a USR subroutine.
Hats off!
The first method most people would come up with
is what I call "pulling numbers out of a hat." Simply
stated, you get a random number, and if it's in the
range you want, you use it. If not, you reach into the
hat and try another. This method works fine, but
there's one big drawback: speed.
1 REM 4Hf« RANDOM NUMBERS ***
2 REM
3 REM NUMBERS OUT OF A HAT CBASl
4 REM SLOM MAY TO GET THE JOB DONE!
5 REM
10 ? "ENTER RANDOM tt RANGE CLO,HI)"
20 TRAP 10: INPUT LO,HI
30 RANDrPEEK 1537705 +PEEK t53770J»256
40 IF RAND<LO OR RAND>HI THEN 30
50 ? RAND: GOTO 30
Figure 1.
Figure 1 is the BASIC version of pulling numbers
out of a hat. Type in the program and RUN it. You
will be asked for a random number range. Type in:
0,65535
and press RETURN. You will see the program hap-
pily print out random numbers ranging from to
65535, at BASIC's top speed. All's well, right? Wrong!
Press BREAK and RUN the program again. This
time, when prompted for the random number range,
type:
350,355
PAGE 72
ANALOG COMPUTING
ISSUE 29
and press RETURN. If you see anything print out
within three or four minutes, consider yourself lucky.
What happened? Let's look at the program and find
out.
Lines 10-20 accept the random number range
and store the low and high ranges in LO and
HI, respectively. Any random values less than
LO are rejected, as are any values greater than
HI.
Line 30 generates a random number between
and 65535, using the Atari's random number
generator, RANDOM. RANDOM is located at
$D20A (53770 decimal) and gives a random val-
ue of to 255 when PEEKed. This line reads
RANDOM twice and builds a large random
number (ranging from to 65535) by setting
RAND to PEEK(53770) + PEEK(53770) * 256.
Line 40 checks to see if the random number
just generated falls between the values in LO and
HI. If not, the program loops back to Line 30
to try pulling another random number out of the
hat.
Line 50 prints any random numbers that are
within the range specified by LO and HI.
Now can you see why this program works so slowly?
When a large range (such as 0-65535) is specified,
there is a better chance of the random number fall-
ing into that range. When a smaller range is given,
the odds of picking a random number in that range
can drop drastically, making the program take virtu-
ally forever.
"Aha," you say, "I'll just write this routine in assem-
bly language and speed it up. Assembly language fixes
everything!" Let's see what happens.
;LOH LIMIT
eiee loml = $cb
eiio LOMH = sec
ei20 HIGHL = SCE
ei30 HIGHH = $CF
ei40 RESLO = $D4
0150 RESHI = $D5
eiee random = $D2eA
0170
0180
0190
0200
0210
0220
0230
0240
0250
0260
0270
0280
0290
0300
»= 50600
CLD
LDA tte
5TA LOHL
5TA LOHH
PLA
CMP ttl
BEQ PULLHI
PLA
5TA LOHH
PLA
5TA LOHL
0310 PULLHI PLA
0320
0330
0340
5TA HIGHH
PLA
STA HIGHL
0350 GETRND LDA RANDOM ;GET RANDOM tt
0360
0370
0380
0390
0400
0410
0420
0430
0440
0450
STA RESLO
LDA RANDOM
STA RESHI
CMP HIGHH
BCC CHEKLO
BNE GETRND
LDA RESLO
CMP HIGHL
BCC CHEKLO
BNE GETRND
HIGH LIMIT
BASIC'S RESULT
RANDOM tt 0-255
ROUTINE START
CLEAR DECIMAL
SET DEFAULT
LOH RANGE
VALUE
GET ttARGS
ONE ARGUICNT?
VES! GET HI
PULL LOH HI
AND SAME IT
PULL LOH LO
AND SAVE IT
PULL HIGH HI
AND SAVE IT
PULL HIGH LO
AND SAVE IT
SET LO BYTE
GET RANDOM tt
SET HI BYTE
TOO BIG?
NO, TOO SMALL?
TOO BIG!
IS LOH BYTE
TOO BIG?
NO, TOO SMALL?
TOO BIG!
0460 CHEKLO LDA RESHI ;IS RAND tt. . .
0470 CMP LOHH ;T00 SMALL?
0480 BCC GETRND ;VES!
0490 BNE RANDOK ;IT'S OK!
0500 LDA RESLO ;IS LOH BYTE...
0510 CMP LOHL jTOO SMALL?
0520 BCC GETRND ;VE5!
0530 RANDOK RTS ;IT'S OK, EHIT !
Figure 2.
Figure 2 shows the assembly code equivalent of Fig-
ure 1, which can be called as a USR subroutine. It
can be called by the following two USR statements:
RAND=USRC153e,HI)
RAND=USR C153e, LO, HI)
The first USR statement will generate a random
number between and the value of argh The second
USR format will generate a random number between
the value in argl and the value in arg2. Obviously,
the USR subroutine must be able to determine how
many arguments are supplied, and act accordingly.
Let's see how this subroutine works.
Line 200 clears the decimal mode, placing us
in binary math mode.
Lines 210-230 will set the 2 -byte work area
LOWL-LOWH to 0. This ensures that, if there
is only one argument, the low range will default
to 0.
Line 240 pulls the number of arguments off
the stack.
Line 250 compares the number of arguments
to 1. If there is only one argument, we will want
to go get the high range value.
Line 260 branches to PULLHI if the number
of arguments if equal (BEQ) to 1. This will cause
the computer to pull just one argument from the
stack.
Lines 270-300 pull and store the low limit
for the random number. If there are two argu-
ments, this is the first.
Lines 310-340 pull and store the high limit
for the random number. Of course, if there's only
one argument, specifying a range from to argl,
this is the one that will be pulled, and the low
limit (set in Lines 220-240) will be 0.
Lines 350-380, labeled GETRND, generate
a random number between and 65535, placing
it in the locations RESLO and RESHI. As you
should know by now, RESLO and RESHI ($D4
and $D5) are the locations used to send values
to BASIC from the USR subroutine. The ran-
dom number is built by simply loading the ac-
cumulator twice, placing each random byte into
the RESLO and RESHI locations.
At this point, I would like to discuss an important
function in assembly language: comparisons. We've
already seen how single-byte values can be compared
easily, using the CMP instruction. Since we're using
(continued on page 78)
ISSUE 29
ANALOG COMPUTING
PAGE 73
\
Line
16K Disk, 2.0 DOS
by Angelo Giambra
The designers of Atari BASIC faced a difficult chal-
lenge: cram a reasonably powerful BASIC interpreter
into an 8K ROM cartridge. Despite the constraints
imposed, they produced a really fine product.
But to get all that power into a ROM cartridge,
many desirable features had to be forgone — features
like line resequencing, mass line deletes and automatic
line numbering. While all of these features are time-
saving, I find that automatic line numbering is the
one I most frequently miss. So I did something about
it.
The B-Line program creates an AUTORUN.SYS
file on your disk which, when booted with your BA-
SIC cartridge, will make keying in BASIC programs
a snap.
Loading B-Line.
Key in the program in Listing 1 carefully. When
you're finished, SAVE it to disk, then RUN it. B-Line
will check the DATA statements for accuracy and in-
form you of any errors. If there are none, it will pro-
ceed to create the AUTORUN.SYS file.
N w, power off your computer and turn it back on
again. This will allow the AUTORUN.SYS file to load
and execute. Finally, the READY prompt will appear,
and you will be back to old, familiar BASIC. Well,
not quite.
Using it.
BASIC will now accept a new command. The syn-
tax of the new command is:
AUTO <base>, <increHent>
The base and increment values are optional. Here are
some examples.
If you key in the following:
AUTO
BASIC will begin numbering lines at 10 and in-
crement each succeeding line with the default
value of 10.
Or you may key in this:
AUTO 928
This will cause BASIC to begin numbering lines
at 920 and increment each succeeding line by
the default, 10.
Finally, you may key in something like this:
AUTO 358,28
Now BASIC will begin numbering lines at 350
and increment each succeeding line by 20.
To turn off auto-sequencing mode, simply press the
BREAK key.
B-Line will not go away if you press SYSTEM RE-
SET, so you needn't worry about losing it. If you do
PAGE 74
ANALOG COMPUTING
ISSUE 29
want to deactivate it, however, key in DOS. The sys-
tem will perform a warmstart, and you'll be returned
to BASIC. The next time you key in DOS, you'll be
transferred to the DOS menu normally.
How it works.
B-Line works by installing a new handler for the
editor into memory and a vertical blank interrupt
(VBI) routine to handle the line sequencing. The han-
dler first passes control to the OS editor getbyte rou-
tine. It then examines the input buffer to see if AUTO
has been entered.
If not, control passes back to BASIC normally. But
if Af7TO has been entered, the routine scans the re-
mainder of the buffer looking for the base and incre-
ment values. If it finds them, it processes them; other-
wise, it substitutes the default values for the base and
increment. It then signals the VBI routine to begin
line sequencing.
This routine waits for you to press the RETURN
key, then figures out the next line number and prints
it on the screen.
Some bothersome timing problems had to be over-
come. Whenever you key a line into BASIC, a lot
of things happen. BASIC must parse the line and,
if necessary, move portions of the code around in
memory to make room for the new line. The VBI rou-
tine had to somehow know when BASIC was finished
with all this, since, if it printed up the next line num-
ber to the screen too soon, BASIC got all fouled up.
I discovered that, whenever BASIC is finished ex-
amining a line of input, it stores a hex C2 in a vari-
able called PROMPT. The handler takes advantage
of this by zeroing out PROMPT whenever it sees the
RETURN key pressed. The VBI routine then waits
for PROMPT to equal C2 again, before printing the
next line.
The B-ottom Line.
B-Line will prove to be a real timesaver for you.
I think you're going to wonder how you ever got along
without it . . .especially when you're keying in all those
great magazine games! D
Listing 1.
le REM KMKMKKKMMMKKICM
20 REM » B-LIHE »
38 REM » by »
40 REM « A. GiaHbra «
58 REM KKKKKICKKICKKKKIC
68 DATA 8,1,2,3,4,5,6,7,8,9,8,8,8,0,8,
8,0,10,11,12,13,14,15
70 DIM DATS C96}, HEH t22} : FOR K=0 TO 22:
READ N:HEK(}t)=N:NE}<T K:LINE=1?8:REST0R
E 268: TRAP 158:? "ISCHECKING DATA"
88 T0TAL=G:LIIIE=LIME+10: POSITION 2.2:?
"LIME:";LIHE:READ DATS:IF LENCDAtIjO
96 THEN 180
98 DATLIN=PEEKfl83J+PEEKC184>#256:IF D
ATLINOLINE THEN ? "LINE ";LIME;" MI55
IN6!":END
108 FOR K=l TO LEHtDATSJ-1 STEP 2 : D1=A
5C tDATS CX) J -48 : D2=A5C CDAT$ (X+IJ ) -48 : BY
TE=HEK tDl)«16+HEK CD2}
lie IF PASS32 THEN PUT ttl, BYTE : NEXT X:
READ CHKSUM:GOTO 88
128 T0TAL=T0TAL+HEXt»l)+HEXCD2J:NEKT X
138 READ CHK5UM:IF T0TAL=CHK5UM THEN 8
140 GOTO 188
158 IF PEEKtl95><>6 AND PEEKC195J05 T
HEN 188
168 IF PAS5=8 THEN OPEN ttl,8, 0,"D : AUTO
RUN . SV5" : PA55=2 : LINE=190 : RESTORE 208 : T
RAP 178:? "^CREATING FILE": GOTO 88
170 CLOSE «l:END
188 IF LENtDATSj=80 AND LINE=320 THEN
TRAP 160: GOTO 90
190 ? "BAD DATA: LINE ";LINE:END
200 DATA FFFFFC1CAB1DAD8A1D858CAD8B1D8
50D4C74E428880eA9FC850AA91C85eBA208BDl
Ae3F875C945F82EC953F805E8E8E8,706
210 DATA D8EEBD1B8385CBBD1C838SCCA006B
1CB1869018D2A1F8D1A1FC8B1CB69888D2B1F8
D1B1F4C231DBD1B8385CBBD1C83S5,698
228 DATA CCA9AC9D1B03A91D9D1C03A000B1C
B99AClDC8C00DD8F6ADB01D1869ei8DBAlDADB
11D69008DBB1DA9B938E9018DB81D,721
230 DATA A91DE9008DBllD4C231DA907AeC8A
21E2e5CE4A9448DE702A91F8DE882A9888D421
F8D411F68B91DB41E28888808C888 , 613
248 DATA F889C99BF8eEE6CF4CDllDA9808D4
llFA99B2868AD411FF018A9eA8SD0A901SD421
FA98885C24Ce91E98488A48A4CFA9,684
250 DATA 9B998e05A000B9S885D9351FD888C
8C884D8F328111E68AA68A8A98885CFA99B28e
eB98885C99BF875C8A288B980e5C9 , 614
260 DATA 2CF00BC99BF0079D391FC8E818EE9
D391FA98885F228BFlE98482e88D828D2D9A5D
485CBA5D585CC68ASB988e5C99BF0,7ie
270 DATA 32C8A208B98885C938988BC93AB88
79D391FC8E818EEA9289D391FA9e085F220BFl
E200eD820D2D9A5D485CDA5D585CE , 654
280 DATA 4C991EA90A85CDA90885CE4C991EA
98A85CBS5CDA988SSCC85CE2851DA38A5CBE5C
D85CBA5CCE5CE85CCA90A85DeA980,?76
298 DATA 85C2A9018D41B51E381F1F8D421FA
99B8D808568A93985F3A91F85F468AD421FFe5
2A5C2F84EA5D0F005C6D04C1F1FA9,679
300 DATA 008D421FA5CB1865CD85CBA5CCe5C
ES5CCA5CB85D4A5CC85D528AAD928E6D8A880B
lF31805297F4C8BlF99391FC818Fl,7e5
318 DATA 99391F8C431FEE431F20221FA9282
888882e51DA4C62E4A8889848B9391F2080086
8A8CSCC431FD8F8e84155544F411F,544
328 DATA e81F888888A9FC858AA91C858BA58
C8D8A1DA58D8D8B1DA909850CA91D858D4C141
DE882E182441F,497
CHECKSUM DATA.
(see page 32)
18 DATA 272,478,323,72,280,965,282,364
, 735, 912 , 694 , 97 , 438 , 719 , 585 , 7128
168 DATA 177,134,773,174,148,150,101,8
37,886,732,25,916,286,45,84,5468
318 DATA 486,865,1271
Assembly listing.
1 tt«««**««*»»lf4H»*»»«»
*
1 » B-LINE *
1 »
«
1 » by
♦
1 »
*
1 * A. GIAnSRA *
I »
#
1
1
7420
1 OS EQUATES
HATABS
• asiA
LBUFF
«05B0
FftSC
SDBEi
IFP
»D9AA
AFP
•Dsee
ISSUE 29
ANALOG COMPUTING
PAGE 75
FPI
INTLBF
VBXIT
SETVB
UARnSTART
MEMLD
FRO
INBUFF
CIX
DOSVEC
DOSINI
I
I WORK VARIABLES
I
COMMA
SPACE
PROMPT
NUM
INCR
CHARCOUNT
INDEX
TIMER
I
DOS
»D'?D2
*DAS1
*E4<i2
»E4SC
«E474
«02E7
»D4
»F3
• F2
*0A
«0C
»9B
»2C
«20
«C2
(CB
«CD
»CF
«CB
*D0
LDA *CR I STORE A RETURN
STA LBUFF.Y UN BASIC BUFFER
LDY *0
(COMPARE BUFFER
(TO 'AUTO'
LDA LBUFF.Y
CMP TABLE, Y
BNE EXIT
INY
CPV «4
BNE COMPARE
JSR AUTONUM (DO AUTONUM
(ARE UE D0NE7
(CARRIABE RETURN
(BASIC PROMPT CHAR
(BASE NUMBER
( INCREMENT
[COUNTER
(UDRK INDEX
(VB TIMER
LOOKUP
SEARCH
FOUNDSCR
LDA
STA
LDA
STA
JMP
JSR
LDA
STA
LDA
STA
LDX
LDA
BEQ
CMP
BEQ
CMP
BEQ
INX
INX
INX
BNE
LDA
STA
LDA
STA
LDY
LDA
CLC
ADC
STA
STA
INY
LDA
ADC
STA
STA
JMP
LDA
STA
LDA
STA
LDA
STA
LDA
STA
LDY
LDA
STA
INY
CPY
BNE
LDA
CLC
ADC
STA
LDA
ADC
STA
LDA
SEC
SBC
STA
LDA
SBC
STA
JMP
RESET -H
DOSINI (RESTORE DOSINI
RESET+2
DOSINI+1
WARMSTART ;DQ WARMSTART
«FFFF [CHANGED TO JSR TO DOSINI
«t <DQS
DOSVEC [POINT DOSVEC
* >DOS (TO OUR ROUTINE
DOBVEC+l
HATABS.X [EXAMINE HANDLER
FINI (ENTRY
»'E [IS IT THE EDITOR
FOUNDED
It's (IS IT THE SCREEN
FOUNDSCR
[SO TO NEXT
(ENTRY
SEARCH
HATABS+1,X [STORE SCREEN
INDEX (HANDLER ADDRESS
HATABS+2, X
INDEX+1
»6 [OFFSET TO
(INDEX), Y IPUTBYTE VECTOR
*t (ADD 1
PUTCHAR+1 [MODIFY OUR JSR
MAKESPACE+1
(INDEX) ,Y
• e
PUTCHAR+2
MAKESPACE+2
CONT
HATABS+l.X [LOAD VECTOR
INDEX SPUT IN INDEX
HATAB8+2, X
INDEX+1
It <HANDLER (POINT HANDLER
HATABS+l.X [TO OUR TABLE
» >HANDLER
HATABS+2, X
»e
( INDEX), Y [GET OS TABLE
HANDLER, Y (MOVE TO OUR
(LOCAL TABLE
»13 (ARE WE DONE?
MOVE
HANDLER+4 [GET SETBYTE
(VECTOR
*1 (ADD 1
GETB+l (MODIFY OUR
HANDLER+S (JSR
*0
GETB+2
» <GETB [POINT TABLE TO
(OUR DUN ROUTINE
«1
HANDLER+4
tt >GETB
«te
HANDLER+5
CONT
LDA «7
LDY It <INTERRUPT (FIRE UP VB
LDX « >INTERRUPT (ROUTINE
JSR SETVB
LDA It <ENDP
STA MEMLO (POINT MEMLO
LDA It >ENDP (TO END OF OUR
STA MEMLO+1 (PROGRAM
LDA »e
STA ENDLINE (CLEAR WORK
STA SWITCH (REGISTERS
RTS
HANDLER
(
8ETB
*- *+13
(HANDLER TABLE
JSR «FFFF (JSR TO OS
PHP (SETBYTE ROUTINE
CPY lt»8a (BREAK PRESSED?
BEQ BRK [YES
CMP ItCR (CARRIAGE RETURN?
BEQ PROCESS I YES, PROCESS IT
INC CHARCOUNT (COUNT CHARACTER
JMP N08RK
LDA It0
STA SWITCH
LDA HCR
PLP
RTS
LDA SWITCH
BEQ AROUND
LDA Itl0
STA TIMER
LDA 111
STA ENDLINE
LDA It0
STA PROMPT
JMP XIT
TYA
PHR
TXA
PHA
LDY CHARCOUNT
(SHUT OFF AUTONUM
(RESTORE STATUS
(AUTONUM ACTIVE?
[NO, PARSE LINE
(SET VB TIMER
(SET ENDLINE FLAG
[CLEAR BASIC'S
[PROMPT REGISTER
EXIT
PLA
TAX
PLA
TAY
(RESTORE X AND Y
XIT
LDA
»0
(CLEAR CHARCOUNT
STA
CHARCOUNT
LDA
HCR
[RESTORE ACCUM
PLP
(RESTORE STATUS
RTS
AUTONUM
LDA
LBUFF,Y
(LOAD NEXT CHAR
CMP
HCR
(CARRIAGE RETURN?
BEQ
DEFAULT
(YES, NO PARAMS
INY
LDX
•10
QETNUM
LDA
LBUFF.Y
[GET BASE NUMBER
CMP
»COMHA
(DONE?
BEQ
GETNEXT
(YES
CMP
• CR
[DONE?
BEQ
GETNEXT
(YES
STA
BUFF,X
(SAVE CHARACTER
INY
(IN BUFF
INX
BPL
GETNUM
GETNEXT
STA
BUFF,X
[SAVE CHAR
LDA
«0
[RESET CIX
STA
CIX
£
JSR
TYA
PHA
(SAVE Y
JSR
AFP
(ASCII TO FP
JSR
FPI
(FP TO INTEGER
LDA
FRO
(GET BASE
STA
NUM
(STORE IN NUM
LDA
FRO+1
STA
NUM+l
PLA
TAY
(RESTORE Y
LDA
LBUFF.Y
(GET NEXT CHAR
CMP
«CR
(RETURN?
BEQ
SETINCR
(YES, NO INCR
INY
LDX
It0
NEXTNUM
LDA
LBUFF.Y
[LOAD NEXT CHAR
CMP
It'B
IIS IT BETWEEN
BCC
CONVERT
10 AND 9?
CMP
»■ :
BCB
CONVERT
STA
BUFF.X
(YES, SAVE IT
INY
INX
BPL
NEXTNUn
CONVERT
LDA
ItSPACE
BTA
BUFF.X
[STORE A SPACE
LDA
•
BTA
CIX
(RESET CIX
JSR
POINT
(INIT INBUFF
JSR
AFP
(ASCII TO FP
JSR
FPI
(FP TO INTEGER
LDA
FRO
STA
INCR
(STORE INCR
LDA
FRO + 1
STA
INCR+l
JMP
START
SETINCR
LDA
Itt0
(SET INCR AT
STA
INCR
(THE DEFAULT (10)
LDA
H0
STA
INCR+l
JMP
START
DEFAULT
LDA
ttl0
(SET BASE AT
STA
NUM
[THE DEFAULT (10)
STA
INCR
LDA
110
BTA
NUM+l
STA
INCR+l
START
JSR
SEC
INTLBF
LDA
NUM
(LOAD BASE
BBC
INCR
(SUBTRACT INCR
STA
NUM
LDA
NUM+l
SBC
INCR+l
STA
NUM+l
LDA
»10
(SET VB TIMER
STA
TIMER
LDA
H0
(RESET BASIC'S
STA
PROMPT
[PROMPT REGISTER
LDA
HI
BTA
SWITCH
(AUTONUM ACTIVE
BTA
ENDLINE
(SET ENDLINE
LDA
ItCR
(RETURN A CR TO
BTA
LBUFF
(BASIC
RTS
INT LDA It <BUFF [POINT INBUFF
STA INBUFF ITD OUR BUFFER
LDA II >BUFF
BTA INBUFF+1
RTS
VB INTERRUPT ROUTINE
(
(
INTERRUPT LDA ENDLINE [LINE ENTERED?
BEQ EXITVB I NOT YET
LDA PROMPT
BEQ EXITVB
LDA TIMER
BEQ OK
DEC TIMER
JMP EXITVB
(DID BASIC FINISH
(WITH IT YET?
[WAIT TEN JIFFIES
(SAVE X AND Y
&K
LDA
lie
(RESET ENDLINE
BTA
ENDLINE
LDA
NUM
[GET BASE
CLC
ADC
INCR
(ADD INCREMENT
BTA
NUM
(SAVE IT
LDA
NUM+l
ADC
INCR+l
STA
NUM+l
LDA
NUM
(GET BASE
STA
FRO
(PUT IN FP REGISTER
LDA
NUM+l
BTA
FRO+1
JSR
IFP
[ INTEGER TO FP
JSR
FASC
(FP TO ASCII
LDY
*0
DRAPER PASCAL
For the Atari 400/800 or XL series computers
• Many features from botfi UCSD and ISO standard Pascals
plus many extensions sucfi as sound and graphics, to make
use of tfie versatile Atari tiardware,
• Character. String, Integer, Real, Boolean, and File data types
supported.
• Single dimension arrays for all data types other than File.
• Only one disk drive (and 48K RAM) are required. Multiple, and
double density disk drives are supported,
• Includes Editor program (Pascal source included) to create,
modify, and print Pascal source files, or other text type files.
• Includes Main Menu program (Pascal source included) for
easy selection of Compiler, Editor, or utility functions, such as
directory or file listing. Main Menu program may be replaced
with a user written program to create a turnkey operation.
• Easy to use. No linking required. Compile and execute im-
mediately.
• Comprehensive user manual included. Complete examples
and BASIC equivalents given for each reserved word.
• Machine language subroutines may be loaded and called.
• No limit on source program size. "Include" files supported.
• Execution debugging features include instruction trace and
stack display.
• One pass compiler generates pcode directly.
• Program chaining is supported.
• Royalty free license included.
• Bugs fixed free, if encountered.
• Backup diskette now included.
• Includes sample programs.
• Satisfaction guaranteed. Return within 30 days if not satisfied.
• Price: $64 95 (NEW LOW PRICE)
To Order Visa/Mastercard, check, money order, ar)d COD accepted If charge, please
Include expiration date of card. Add $200 for shipping and handling. Add $1 65 for COD
orders Mail and phone orders accepted Phone answered 24 hours Monday through
Saturday Same or next business day shipping on most orders Immediate shipping on
check orders No watt for check clearance required
Dealer Inquirtes Invited
DRAPER SOFTWARE 307 Forest Grove Richardson. Texas 75080 (214)699-9743
Alan IS a trademark of Alan Inc
MRITEIT
LDA
(INBUFF)
.Y IQET A BYTE
BPL
WRITENUM'
AND
»»7F
ITURN OFF HIGH BIT
JMP
DONE
URITENUn
8TA
INY
BUFF,Y
ISAVE IT
BPL
WRITEIT
DONE
BTA
8UFF.Y
I SAVE IT
STY
LENGTH
iSAVE LENGTH
INC
LENGTH
1 INCREMENT LENGTH
JSR
WRTF
IPUT NUM ON SCREEN
LDA
»SPACE
HAKESPACE J6R •FFFF
IPRINT A SPACE
JSR
INTLBF
UNIT INBUFF
EXITVB
JMP
VBXIT
WRTF
LDY
«0
LP
TVA
PHA
ISAVE Y
LDA
BUFF.Y
PUTCHftR
JSR
• FFFF
IWILL POINT TO SCREEN
PLA
IPUTBYTE ROUTINE
TAY
INY
CPY
LENGTH
1DDNE7
BNE
LP
RTS
TABLE
.BYTE "AUTD"
BUFF
»-
»<-B
SWITCH
.BYTE
ENDLINE
.BYTE
LENBTH
.BYTE
ENDP
BEGIN
LDA
It <DOS
IPOINT DOSVEC
BTA
DOSVEC
ITD OUR ROUTINE
LDA
* >DGS
STA
DOSVEC+
LDA
DOSINI
IBET DOS INIT VECTOR
STA
REBET-H
•MODIFY JSR
LDA
DOSINI-^
BTA
RESET+2
LDA
» <REBET IPOINT DOSINI
STA
DOSINI
ITO OUR RESET LOGIC
LDA
» >RESET
STA
DaSINI+
JMP
LOOKUP
*■
• 02E0
.WORD BEGIN
CIRCLE #130 ON READER SERVICE CARD
National ORDER TOLL FRFF Minnesota
1-800-328-1226 . , , V ' '^■"■- ' "■-■- 1-800-626-2345
(orders only) Hrs. M-F 1 0:00 - 6:00 (CST) (orders onTy)
SPECIALS
Entertainer Kit
Pac Man, Star Raiders & pr Atari Joysticks
3000
E
Indus GT Disk Drive
?flp P."^
ZZ
~
MISCELLANEOUS
5'/-." SS/DD Disk W/Sleeves (25 Pack) 32.50
Kraft Single Button Joystick 7.95
Kraft Switch Hitter Joystick 8.95
Amaray Disk Bank
(Holds 50 Disks) 12.95
MPP 1000c Moidem 119.95
PRINTERS ■
BMC BX80
229 95
—
Epson RX80
239 95
—
Epson RX80FT
279 95
—
Epson RX100
429 95
~
Epson FX80
399 95
—
Epson FX100
649 95
z:
Epson MX/RX/FX80 Ribbons
595
—
BMC BX80 Ribbon
7 95
—
MPP 1 150 Interlace
75 00
—
Cardco AT Printer Interface
59 95
—
Atari 850 Interface
1.19 9."^
—
—
ORDERING INFORMATION...
To order, call toll free or send by mail. For fastest ser-
vice use your Visa or Ivlaster Card (include card # and
exp. dale), or send a money order or cashier's ctieck.
Aliov* 2 weeks for personal checks to clear. Add 3%
(minimum 3.00) for shipping, (vlinnesota residents
add 6% sales tax. We also ship COD. Return Policy:
Call Customer Sen/ice # For RA#. Credit or defective
exchange only.
Customer Service 61 2-784-681 6
MONITORS ■
BMC BM12EUY 12" Higfi Res Amber
79 95
=
BMC9191U+13" Color
229 95
—
BMC JJ1202G 12" Green
BMC Monitor stand
99.95
24 95
—
Interex Monitor Cable (5 pin din to 4 RCA)
6.95
=
-LOOK!
All software for your Atari is available at 25% off suggested retail prices.
GTA^^SALES
8465 Plaza Blvd.
Spring Lake Park, MN 55432
CIRCLE #131 ON READER SERVICE CARD
COMPUTER
PALACE
Now
use both -....-^^ —
sides of your diskettes
Simply place the disk against the buit
in stops and squeeze.
DISK NOTCHER
SPECIAL
ONLY
$9.95
Your ATARI Headquarters!
Much More Than A Mailing List!
A
New Version 1.5
• Lightning Fast Retreival
• Fast Sorts On Any Field
• Supports Up To 4 Drives
• Single Or Double Density
• Much More...
One of the most versatile
data-base programs avaiiable.
• Maintain your book library...
• Organize your record collection...
• Index your recipes...
• Categorize your stannp collection...
• Unlimited applications!
New! Mail merge utility for| Atari writer, Letter Perfect $14.95
umI^it
The saga contin
ues! This is the
latest from the
ultimate epic-
fantasy role-
playing adven-
ture. Do you
dare . . . ?
Peachbee Software"
^
Now one of the most popular
accounting systems is avail-
able for ATARI . Sac/t to fia-
sics Accounting System is a
double entry, accrual ac-
counting system consisting of three interac-
tive packages for the small business: General
Ledger, Accounts Receivable and Accounts
Payable. An extremely powerful system, it in-
cludes automatic posting capability, system
generated mailing labels and password secu-
rity. For the non-accountant. It includes one of
the most comprehensive manuals we have
seen. For the expert, it will finally put your
Atari into business. Reguires 2 drives.
48K Disk-System package: General Ledger.
Accounts Payable & Accounts
Receivable $195.00.
Each package separately $95.00.
^ Outsmart your Friends Outwit the Dragon ^
Join the Quest
TEKNIKA 13 " Color
Monitor $299.00
This appears to be one of
tfie best color monitors
we tiave found for ttie
Atari at any pnce Since
it has separate connec-
tions for ctiroma and lu-
minance, it is able to take
advantage of Atari's advanced capabilities. We tiave to
admit that the color rivals many RGB monitors we
tiave seen The monitor comes complete with cable.
CATALOG "^^^
wSh any order or send $1 //Si^~-*^'7
(retundiWe witti first purctiasel //£i;^~~
This Is the most
comprehensive
Atari reference
catalog available!
II contains over
3000 software S hardware
listings witli illustrations
and descriptions!
IF YOU DON'T HAVE OUR
CATALOG... YOU'RE
MISSING OUT!
TRMfiL
^^'AyaUable Now!
aunmart your Frlemts ■ outwit ttie ongon • join ttte 9uc«
la Ouesr is a laraiiy ni
PROGRAM COVERS FOUR DISK SIDES!
.^oi/al Oo/^OMi'i^
(Program Covers Four Disk Sides)
A new concept In computer gaming. Intellectual 'WK ^OB.33
challenge, strategy and arcade action. Each player assumes the role of a
lord with a guesting party of three characters. Complete the quest, earn the
most gold by correctly answering questions and battling the dragon. Win
the favor of the king and thus, the game.
• Utility Disli — 1000 additional questions plus create your own . . . $24.95
SUPER SPECIALS
invitation to
Programming #3
Speed Reading
Conversational French
Conversational German
Pacific Coast Highway
Caverns of Callisto
Match Racer
JawBreaker
Pathfinder
Reg / Sale
S29 95 / 14 95T
S31 50 / 14.95T
J31.50 / 19.96T
$31 50 / 19.95T
$29 95 / 9.95D
$39.95 / 19 95D
$29.95 / g.95D
$29.95 /
$29.95 /
Bandits $29.95 /
995D
9950
9 95D
995D
4.95D
7 950
Lords of Karma $29.95 /
Meteor Storm $29.95 /
Krazy Shoot-out $49 95 /
Miner 2049 $49.95 / 17 95C
Wizard of Wor $39.95 / 17.950
Deluxe Space Invaders $39 95/17 950
Pool 400 $34 95 / 14 95C
Chopliher $44.95 / 17.95C
Atari Basic $59 95 / 29.90C
T: Tape D: Disk C: Cartridge
ATAR1 130/520 ST Personal Computers
128K-$399/512K-$599
The current flagship of the Atari Family has arrived,
utilizing the speed of the Motorola 68000 CPU With
128Kor 512K. you will have power at prices you won t
believe And with a mouse, pull-down menus, win-
dows, icon graphics and cut and paste features Itiat al-
low you to integrate spreadsheet, text and graphic
files, creative solutions have never been easier The
quantities are limited, so place your order now to get
yours as soon as possible.
ATARI REPAIR PARTS
Joystick PC board . . . .
Joystick cord
Joystick inner handle .
13-Pin I/O Plug
6 ft. I/O Cord
Printer Cable
Monitor Cable
. $ 2.49
2.95
1.49
. 9.95
. 19.95
. 29.95
. 14.95
The
Ultimate
Si;reen
Duinp
Program
This powerful and easy-to-use utility will
allow you to dump almost any Atari text
or graphics screen to your printer (even
while the program is running!)
4BK Disl(
For All Computers
$26.95
From Big Five
• 10 Difl»f«nt Scf»«ns
• I6K CanrKlg*
• Sftvciacular Sound
i Graptiic*
OUR PRICE
ONLY
$1 7. 95 1* Limited quantities.
10 SB SD
DISKEHES
Our
high quality
Single
density!
ONLY $13.95
Try a box of 150 and save
even more! $150.00
DRIVES— DRIVES— DRIVES
Atari Rana Trak
Indus Percom Amdek
CALL FOR SPECIAL
PRICING!
'COMPUTER /6-^
MIACE
Scftfi
^^--
OPEN M-F. 9-6 Sat. 10-4 (Pacific Time)
2160 W. 1ltti Avenue Eugene, Oregon 97402V
USE YOUR CREDIT CARD & CALL
Toll Free 1-800-452-8013
• ORDERS ONLY, PLEASE •
There's never a penalty for using your credit card !
For Information, Call (503) 683-5361
SHIPPING INFO: Minimum $2.90 Ground. $4.75 Ajr. Actual
Cost depends on weight. Call (503) 683-5361 for information.
WARRANTY INFO: Eveiything that we sell is warrantied by
ttie manufacturer. If an/ item purcfiased from us fails to per-
form properly wfien you receive it, call us at (503) 683-5361
so ttiat we can assist you. No returned mercfiandise accepted
without authorization. Defective software will be replaced
witti anottier copy of the same program, ottierwise, no soft-
ware is returnable.
CIRCLE #132 ON READER SERVICE CARD
PAGE 78
ANALOG COMPUTING
ISSUE 29
Boot Camp
(continued from page 72)
2 -byte values here, we must learn how to perform
multiple-byte comparisons.
A 2 -byte comparison is not very different from a
single-byte comparison. The obvious difference is that
there are now 2 bytes to be compared instead of 1.
What may not be obvious is that we must compare
the high-order bytes first, then the low-order bytes.
Figure 3 is a flowchart of possible comparison out-
comes.
V1 < V2
VI > V2
V1 < V2
V1 > V2
VI = V2
Figure 3.
In Figure 3, we are comparing the values VI and
V2. VI and V2 are both 2 -byte values, and their
high-order and low-order portions are designated H
and L, respectively.
As you can see, there are three possible outcomes
in any comparison: greater than, less than, and equal
to. The flowchart is fairly straightforward, showing
the step-by-step procedure for comparing any two
2-byte values. Note that, since the high-order bytes
are the most significant bytes, they are compared first.
After all, if the high byte of VI is greater than that
of V2, VI is greater than V2, no matter what the low
bytes of the values contain.
Note, however, that if the high-order bytes of VI
and V2 are equal, we must compare the low bytes to
complete the comparison properly. Figure 4 shows the
assembly code equivalent of Figure 3 .
18
LDA
VIH
20
CNP
V2H
30
BCC
U1LTV2
40
BNE
V1GTV2
50
LDA
UlL
60
CMP
V2L
70
BCC
V1LTW2
80
BNE
V1GTV2
90
BEQ
U1EQV2
Figure 4.
The first operation in Figure 4 is the actual CMP
operation on the high-order bytes of VI and V2 , in
Lines 10-20. At this point, the CARRY and ZERO
flags are set according to the comparison results. If
VI is greater than V2, the carry flag is set to 1. If
VI is less than V2, the carry flag is cleared. If VI
and V2 are equal, the zero flag and the carry flag are
set.
Next, the computer branches to V1LTV2 (VI Less
Than V2) if the carry flag is cleared (BCC V1LTV2).
The next operation is somewhat tricky. Since an
equal condition sets the carry flag as well as the zero
flag, we BNE (Branch Not Equal) to V1GTV2 (VI
Greater Than V2). This insures that we will only
branch to V1GTV2 when VI is greater than V2. The
program will fall through to the next instruction if
VIH is equal to V2H.
At this point, we know that the high bytes of VI
and V2 are equal, and we have to compare the low-
order bytes. This happens if V1 = $4F00 and V2 =
$4F9B, V1 = $007F and V2=$0020, etc.
Lines 50-60 compare the low bytes of VI and
V2, just as the high bytes were compared. Now
we're ready to finish the 2-byte comparison.
Line 70 branches if the carry flag is clear
(BCC) to V1LTV2. Remember that if the carry
is clear after a compare, the accumulator value
(VIL, in this case) is less than the byte it was
compared to (V2L).
Line 80 branches if the compare was not equal
(BNE) to V1GTV2. Once again, this branch op-
eration is used instead of BCS, because an equal
condition also sets the carry flag. In this case,
since the BNE is used after a BCC instruction,
the BNE can be considered a kind of "branch
if greater than" instruction.
Line 90 branches to V1EQV2 using the BEQ
instruction. At this point, we know VI equals
V2, since the high bytes are equal, and the low
bytes are equal.
Multiple-byte comparisons can be somewhat con-
fusing at first, but we'll be using them often in Boot
Camp programs, and you'll soon feel comfortable with
them. Now, let's return to our "walk-through" of the
first random number program.
Line 390 compares the accumulator (which
contains the high byte of the random number)
to HIGHH, the high byte of the upper random
number limit. This is the start of a 2-byte com-
parison to see if the random number we just built
ISSUE 29
ANALOG COMPUTING
PAGE 79
is greater than the upper random number limit.
Line 400 branches if the carry is clear (BCC)
to CHEKLO. If the carry is clear, we know that
the high byte of the random number is less than
the high byte of the upper limit, and we can go
on to check the random number to see if it is
less than the lower limit.
Line 410 branches if not equal to GETRND,
since a not-equal condition (the same as "branch
if greater than," when used after a BCC instruc-
tion) means that the random number is greater
than the upper random number limit, and we
have to reach into the hat for another random
number.
Lines 420-430 compare the low byte of the
random number to the low byte of the upper
limit. At this point, we know that the high-order
byte of the random number is the same as that
of the upper limit, so we need to compare the
low-order bytes to complete the comparison op-
eration.
Line 440 branches if the carry is clear (ran-
dom < limit) to CHEKLO. We now know that
the random number is less than the upper limit,
and must check to see if it is above the lower
limit.
Line 450 branches if not equal (random >
limit) to GETRND, since this shows that the ran-
dom number is greater than the upper limit.
Lines 460-470, labeled CHEKLO, begin the
process of comparing the random number to the
lower limit. The high value of the random num-
ber (RESHI) is loaded into the accumulator and
compared to LOWH, the high byte of the low-
er random number limit.
Line 480 branches if the carry flag is clear
(random < lower limit) to GETRND, because
the random number is less than the lower limit.
Line 490 branches if not equal (random >
lower limit) to RANDOK, since this indicates
that the random number is greater than the lower
limit.
Lines 500-510 compare the low byte of the
random number to the low byte of the lower ran-
dom number limit. This is done only when the
high bytes of the random number and low limit
are equal.
Line 520 branches if the carry flag is clear
(random < lower limit) to GETRND to try an-
other random number. If this branch is not taken,
we know that the random number is greater than
or equal to the lower limit, and is acceptable.
Line 530 returns to BASIC when the random
number is greater than or equal to the lower limit,
and less than or equal to the upper limit. The
random number is in BASIC'S return area (RES-
LO and RESHI), ready to be used by the BASIC
program.
Now that we've completed the random number sub-
routine ("hat" version), let's use it in a BASIC pro-
gram. Figure 5 shows the subroutine installed in a
BASIC program.
1 REM mf* RANDOM NUMBERS ***
2 REM
3 REM NUmER5 OUT OF A HAT CASM)
4 REM FASTER THAN BASIC, STILL SLOW
5 REM
10 DIM DC319):F0R X=e TO 319 :DCK}=192 :
NEXT X
20 GRAPHICS 24:SETC0L0R 2,e,e:C0L0R 1
30 FOR X=153e TO 1598: READ N:POKE X,N:
NEXT X:RAND=153e
48 A=USRtRAND, 0,3193
SO DCA)=DCA)-l:PLOT A,DCA}
60 GOTO 40
100 DATA 216,169,0,133,203,133,204,104
,201,1,240,6,104,133,204,104,133,203,1
04,133,207,104,133,206,173
110 DATA 10,210,133,212,173,10,210,133
,213,197,207,144,10,208,240,165,212,19
7,206,144,2,208,232,165,213
120 DATA 197,204,144,226,208,6,165,212
,197,203,144,218,96
Figure 5.
After typing in Figure 5, RUN it. In a few seconds
(required to initialize the program), you will see a
graphic representation of the random numbers being
generated by the subroutine. The program is gener-
ating random numbers between and 319, and plot-
ting them on a graphics 8 screen, each value plotting
in the appropriate X column. Like our first BASIC
program, this looks fine, doesn't it?
Stop the program by pressing BREAK and change
Line 40 to read:
40 A=USRCRAND, 100, 1011
This will change the random number range from
0-319 to 100-101, a much smaller range. After chang-
ing the program, RUN it. See how much more slowly
the columns grow? Even in ultra-fast machine code,
the "hat" method has speed problems. What can we
do to fix this problem? Our next program will show
a technique which works just fine.
Who was that masked program?
One of the many nice things about assembly lan-
guage is the degree of control you have over the com-
puter. You can rewrite I/O routines, alter the display
with control structures known as "interrupts," and
manipulate data in many useful ways. We're going to
use this latter feature to help us write a better, faster
random number generator.
The reason our first random number subroutine
didn't work as fast as we wanted was that it was tak-
ing every number that came along and checking to
see if it was in the specified range. Sooner or later,
a number comes along that fits, but we don't want
to wait that long. If you're interviewing people for
a nuclear physicist's job, you don't want to talk to
everyone in the state of New York, so you place a clas-
sified ad listing the qualifications— to limit the num-
ber of people you have to interview. That's just what
we're going to do, only we'll do it with numbers.
Li;co Computer Marketing & Consultants
■■PEOPLE WHO KNOW WHAT THEY WANT AND KNOW HOW TO USE IT RECEIVE THE LOWEST PRICES AT LYCO"
SAVE - PRINTERS
GEMINI 10X
$219 •
MANNESMANN
TALLY
SPIRIT 80 $255.00
MTL-160L $549.00
MTL-180L $739.00
JUKI
Juki 6100 $389
Tractor Kit $119
Epson
RX80 $229
RX80FT $269
RX100 $369
FX80 $369
FX100 $555
JX80 $1089
LO1500P(includeskil). . $1 149
LQl 500S(includes kil). . . , $529
Citoh
Prowriter8510A $269
8510BC2 $399
8510BP1 $349
851 OSP $399
851 OSR $409
8510SCP $419
8510SCR $499
1550P $489
1550BCD $539
A10-20P $469
F1040PU or RDU $899
F1055PU or RUD $1099
DIGrTAL
DEVICES
16K printer buffer 99.75
32K printer buffer 1 19.75
64K printer buffer 1 69.95
BLUE CHIPS
M12010 $275
M12010C-64 $275
D4015 $1389
OKI DATA
Okimate 10 CALL
82A $299
83A $549
84 $649
92 $349
93 $569
LEGEND
880 $229.00
1000 $279
1200 CALL
1500 CALL
'081 CALL
CARDCO
LQl Printer 379.00
LQ3 Printer 299.00
C/?6 C-64 Graphics .... 65.75
C/7BC-64 39.75
C/?AT Atari 55.00
Smith Corona
Fastext 80 189.00
D100 219.00
D200 399.00
D300 519.00
L1000 339.00
Corona
LP300 Laser Printer .... 2699.
200361 Toner Cartridge .. . 89.
NEC
NEC 8025 $699
NEC 8027 $359
STAR
MICRONICS
Gemini 1 Ox
Gemini 1 5x
Delta 10
Delta 15
Radix 10
Radix 15
Powerlype
Sweet P 1 00
$229
$345
S339
$449
S499
$589
$309
$549
NOW STOCKING CITIZEN & OLIVETTIC PRINTERS
PANASONIC
1090 $219
1091 $259
1092 $415
1093 $599
3151 $469
PANASONIC
1090 $219
MONITORS
MODEMS DISK DRIVES
TAXAN
210Color RGB
-. 255
.115
. 125
. 295
. 349
. 449
. 145
. 149
. 86
. 82
..129
. 276
. 389
. 449
. 589
H2 GO
88 00
AMDEK
300 Green
125
too Green
105 Amber
400 Color RGB
300 Amber
145
310 Amber - IBM
Color 300-Audio
Color 500-Composite.
Color 600 . .
....159
....265
....379
545
4 10 Color RGB
420 Color IBM
121 Green IBM
122 Amber IBM
ZENITH
ZVM 122A Amber
ZVM 1236 Green
ZVM 124 Amber IBM . .
ZVM 131 Color
ZVM 133 RGB
ZVM 135 Compos. te . . .
ZVM 136 Hi Res Color .
GORILLA
'-' f-^"-- s
' t' Ar''{)cf 5
Color 700
Color 710
. . 635
. .. 675
NEC
JB 1260 Green
JB 1201 Green
JB 1205 Amber
JC 1215 Color
JC 1216 RGB
-- 99 00
135 00
145 00
255 00
399 00
349 00
229
JC 460 Color
SAKATA
SC-100 Color .. .
STSI Tinsland
.... 29
SG 1000 Green
SA 1000 Amber
... 99
... 109
ANCHOR 1
VolKsmodem . ,
Sbb 99
Mark VII
$95 99
Hayes
Smartmodem 300
. $199 00
Smartmodem 1200 . .
$469 00
Smarlrnodem l 200b .
.$39900
Mic romodem lie ....
S249 00
INDUS Atari
$219.00
DISKETTES
».
MAXELL
5'.'MD-1 $17.95
:SS:ifij::::SS:::::::::::::::::
5*< MD-2 $23 95
SKC
(Box 10)
SKC-SSSD.
Box 10) ELEPHANT
(Box 10)
i;i9qQ ^'/"5;c;F;n _ «i/iqq
SKC-SSDD $15 99 5'4SSDD .
$16 99
SKC-DSDD $18 99 5'*'DSDD
tOI QQ
"■•"' 1
800XL COMPUTER CALL
1050 DRIVE CALL
1010 RECORDER $55.00
1 020 PRINTER $59.00
1025 PRINTER $189.00
1 027 PRINTER $249.00
1 030 MODEM $59.00
MONKEY WRENCH fl . . . $52.75
HOME ACCOUNT D . . . . $44.75
TAX ADVANTAGE $35.75
UEAULINE $34.75
ENCHANTER $34.75
INFIDEL $34.75
PLANETFALL $34.75
STAR CROSS $34.75
SUSPENDED $34.75
WITNESS $34.75
ZORKI $34.75
ZOHKII $34.75
Trillium
Shadowkeep $26.75
Fahrentieit 451 $26.75
Amazon $26 75
Microprose
Solo Fligtit $22.75
NATO $22.75
Spitfire $19.95
F-15 Strike $22.75
Spinnaker
Alptiabet $18.75
Story Mactiine $21 75
Kids on Keys $18.75
Grandma $1 9 75
Snooper Troop $22.75
Broderbund
Bank St. Writer $42.75
SpellmaKer $19.95
Mask of Sun $24.95
Choplifter $22.95
Lode Runner $22.95
BUSINESS
VISICALC $159 75
LETTER PERFECT R . 59 00
DATA PERFECT $89.75
FILE MANAGER $69 75
Scarborough
Songwriter $24.75
Picturewril $24.75
Mastertype $24.75
SSI
Baseball $22.75
Queslron $26.75
50 Missions $21.75
Synapse
Synfile $48.95
Syncalc $48.95
Syncomm $29.95
Syntrend $48.95
Graphics Tablet
Supersketch $32.95
Kolala $89.95
THE ILLUSTRATOR $99.95
SPIDER EATER $22 50
SPEEICOPTER $27 75
SUB LOGIC
FlightSimulatorll Atari ...32.75
TOLL FREE t -800-233-8760
TO ORDER
CALL TOLL FREE
800-233-8760
or send order lo
Lyco Computer
P O Boi 5088
Customer Service 1-717-327-1825 Jersey Shore PA 1 7740
RISK FREE POLICY
In-slock Item stiipped wittiin 24 hours ol order. No deposit on C.O.D.
orders. Free shipping on prepaid cash orders within the Continental US.
PA residents add sales tax. APO. FPO. and I nternational orders add $5 00
plus 3% for priority mail service Advertised prices show 4% discount for
cash, add 4% for Master Card or Visa. Personal checks require 4 weeks
clearance before shipping. All items subject to change without notice
For your protection, we check for stolen credit cards.
CIRCLE #133 ON READER SERVICE CARD
ISSUE 29
ANALOG COMPUTING
PAGE 81
Inside the computer, all numbers are stored in bi'
nary format, a series of on or off bits. Using a tech-
nique called "masking," we'll preprocess the random
numbers, making a match in the range we want more
likely.
Here's how it works. First, we get and store the lim-
its of random number values, say, from 200 to 1580.
Next, we find the difference between these "endpoint"
values, which, in this case, is 1580 — 200, or 1380.
Knowing this range makes the random number gener-
ation much easier, since we only have to generate a
number from to 1380, then add the low limit of
200 to it.
The real "meat" of this technique lies in masking
the "raw" random number, so that it will be more
likely to fall into the specified range. We take the bi-
nary representation of 1380 and make a mask that
stops at the highest bit, like this:
1380: oeeeeioi eiieoieo
MASK: 08088111 11111111
Next, we build a 2 -byte random number from the
RANDOM location, then AND it with the mask,
like so:
RANDOM: 11001011 01101001 = 52073
MASK: 00000111 11111111
RESULT: 00000011 01101881 = 873
As you can see, the original random number 52073,
has been masked down to 873, which is within our
range of 1380. We then add 200 (the low limit of our
random number) to the previous result, giving a final
random number of 1073.
It is possible for the masked random number to ex-
ceed our range, but if that happens, we merely try the
operation again. In any case, it's much faster than the
"hat" method.
8100
LOHL =
SCB
;L0H LIMIT
one
LOMH =
fee
8128
HIGHH =
SCE
;HIGH LIMIT TEMP
8138
RANGEL :
: SCF
; RANDOM ft RANGE
8148
RANGEH :
: $D0
0158
RESLO =
$D4
; BASIC'S RESULT
0160
HESHI =
SD5
: Id20A
8178
RANDOM :
;RAND tt REGISTER
8180
•
g
0198
*=
$0600
; SUBROUTINE STAR
8208
f
8218
CLD
; BINARY MATH!
8228
LDA
no
; INITIALIZE. . .
0230
5TA
LOHL
;LOH RANGE. . .
0240
STA
LOHH
; DEFAULT (0)
8250
PLA
;GET tt OF ARGS
0268
CMP
ni
;l ARGUMENT?
0270
BEQ
ARG2
;YES!
0280
PLA
;PULL AND STORE
0290
STA
LOHH
;LOH RANGE
0300
PLA
0310
STA
LOHL
0328
ARG2 PLA
;PULL AND STORE
0330
STA
HIGHH
;HIGH RANGE CHI]
0348
PLA
;PULL HIGH LO
8358
SEC
; SUBTRACT. . .
8368
SBC
LOHL
;LOU LIMIT. . .
8378
STA
RANGEL
;FROM. . .
0388
LDA
HIGHH
;HI LIMIT. . .
0390
SBC
LOHH
;AND GET THE. . .
0408
STA
RANGEH
; RANDOM RANGE!
0418
LDA
ttSFF
;INIT LOH MASK
0420
STA
LOMASK
0430
0440
0450
0460
0470
0480
0490
0500
0510
0520
0530
0540
0550
0560
0570
0560
0590
8688
8618
8628
8630
0640
0650
0660
0670
0680
0690
0700
0710
0720
0730
0740
0750
0760
0770
0780
0790
0800
0810
0828
8830
8848
8858
8860
0870
0888
8898
0900
0910
0920
0930
0940
0950
0960
LDX ttO
HILOOP LDA BITS,)t
AND RANGEH
BNE GOTHLM
INK
CPK ttO
BNE HILOOP
STA HIMASK
TAX
LOLOOP LDA BITS,X
AND RANGEL
BNE GOTLLM
INN
CPX tt8
BNE LOLOOP
STA LOMASK
BEQ RNDIT
GOTHLM LDA MASKS
STA HIMASK
JMP RNDIT
GOTLLM LDA MASKS
STA LOMASK
RNDIT LDA RANDOM
AND HIMASK
STA RESHI
LDA RANDOM
AND LOMASK
STA RESLO
LDA RESHI
CMP RANGEH
BCC LOHOK
BNE RNDIT
LDA RESLO
CMP RANGEL
BEQ LOHOK
BCS RNDIT
LOHOK LDA RESLO
CLC
ADC LOHL
STA RESLO
LDA RESHI
ADC LOHH
STA RESHI
RTS
JDATA ITEMS
BITS .BYTE S80,$40,S20,S10
.BYTE 588,584, 582, SOI
MASKS .BYTE 5FF,57F,S3F,51F
.BYTE S0F,S07,$03,501
LOMASK .BYTE
HIMASK .BYTE
.END
Figure 6.
START M/HI BIT
JGET TEST BIT,
IS IT ON?
YES! GET HI MASK
NEXT BIT
DONE ALL 8?
NO, LOOP BACK.
ZERO HI MASK,
ZERO X REGISTER
:GET TEST BIT,
IS IT ON?
YES! GET LO MASK
NEXT BIT
DONE ALL 8?
NO, LOOP BACK
ZERO LOH MASK
NOH GET RANDtt!
X ;GET MASK,
SAVE IT,
AND GET RANDtt!
X JGET MASK
AND SAVE IT.
;GET RANDOM tt
MASK IT OFF,
SAVE HI RANDtt
GET ANOTHER,
MASK H/LOH MASK
AND SAVE IT.
IS HI BYTE
>LIMIT?
NO, BOTH OK!
TOO BIG, RETRY!
IS LOH BYTE
>LIMIT?
NO, IT'S =, OK!
TOO HIGH, RETRY!
NOH FINISH. . .
BY ADDING. . .
BASE VALUE. . .
TO RANDOM. . .
NUMBER. ..
AND RETURN. . .
TO BASIC!
Figure 6 shows the assembly code for the random
number masking method. Let's walk through it to-
gether, finding out how it works.
Line 210 clears the decimal mode, to ensure
that we're working with binary arithmetic. This
is absolutely essential in this program, since we'll
be doing addition.
Lines 220-310 retrieve the low random num-
ber limit, just as in Figure 2. Once again, if only
one argument is sent by BASIC, the low limit
will default to 0.
Lines 320-330 pull and store the high byte
of the upper range limit temporarily.
Lines340-400 pull the low byte of the upper
limit, then subtract the low limit from the up-
per limit, giving the range of values. This num-
ber is stored in the locations RANGEL and
RANGEH.
Lines 410-420 initialize the low byte mask to
$FF (11111111 binary).
Lines 430-500 make up a loop which scans
the high byte of the range to find the first "on"
bit. This is done by using the BITS table at Lines
900-910. The X register is used to index each
byte in the bits table, which is, in turn, ANDed
with RANGER . If the result of the AND oper-
ation is nonzero, the bit is on, and the program
branches to GOTHLM to select the proper mask
for the high byte. If no bits are on in the high
byte of the range, the HIMASK mask is set to
0. Three typical bytes and their associated masks
are shown in Figure 7.
HI BYTE: 18118001
IM5K: 11111111
HI BYTE: 00110100
HA5K: 00111111
HI BYTE:
Mask:
00000808
88880000
Figure 7.
Lines 510-590 perform the same function as
Lines 430-500, except that they find the highest
bit in the low byte of the range. This code is only
performed if no bits were found in the high byte
of the range. If no bits are on in the low byte,
the mask is set to 0, and the program will branch
to RNDIT, where a random number will be
generated.
Lines 600-620 load the appropriate high-byte
bit mask from the MASKS table, placing it in
the location HIMASK, then jump to RNDIT,
to generate a random number.
Lines 630-640 load the mask for the low byte
of the random number from the masks table. This
byte is placed in LOMASK.
Lines 650-700 load random bytes from the
location RANDOM, mask them with the LO-
MASK and HIMASK masks, and place them in
the RESLO and RESHI bytes. Remember, we
must still compare this number to the random
number range to be sure it's not too big, before
returning to BASIC.
Lines 710-780 perform a 2 -byte comparison
operation RESLO & RESHI and RANGEL &
RANGEH. If the random number generated is
greater than the range, the program loops back
to RNDIT to try again.
Lines 790-850 are executed when the random
number generated is acceptable. They add the
random value to the low range limit, placing it
back into RESLO and RESHI. At this point, the
subroutine is finished, and we have a random
number between the specified upper and lower
limits.
Line 860 returns to BASIC with the RTS in-
struction.
Lines 900-930 are .BYTE directives which set
up the bits and masks tables. These are used in
Lines 440-640 to set up the appropriate data
mask values. Note that each table is made up of
8 bytes, and that each byte of the masks table
is the mask for the corresponding byte of the bits
table.
Lines 940-950 are the storage locations for
the high and low byte masks.
Figure 8 is a BASIC program with the "masking"
random number subroutine. Type it in and RUN it.
1 REH *** RANDOH NUHBERS ***
2 REM
3 REM MASKING METHOD
4 REM FASTER THAN THE HAT!
5 REM
18 DIM Df 3191: FOR X=8 TO 319:DCX}=192:
NEXT X
20 GRAPHICS 24:SETC0L0R 2, 0,0: COLOR 1
30 FDR X=153e TO 1687: READ N:POKE X,N:
NEXT X:RAND=lS3e
40 A=USR (RAND, 0,315)
50 D(A)=D(A)-1:PL0T A,D(A9
60 GOTO 40
100 DATA 216,169,0,133,203,133,204,104
,201,1,240,6,104,133,204,104,133,203,1
04,133,206,104,56,229,203
110 DATA 133,207,165,206,229,204,133,2
08,169,255,141,150,6,162,0,189,134,6,3
7,208,208,26,232,224,8
128 DATA 288,244,141,151,6,170,189,134
,6,37,207,208,19,232,224,8,288,244,141
,150,6,240,15,189,142
138 DATA 6,141,151,6,76,88,6,189,142,6
,141,158,6,173,10,210,45,151,6,133,213
,173,18,218,45
148 DATA 158,6,133,212,165,213,197,288
,144,10,288,232,165,212,197,287,248,2,
176,224,165,212,24,181,283
158 DATA 133,212,165,213,101,204,133,2
13,96,128,64,32,16,8,4,2,1,255,127,63,
31,15,7,3,1
168 DATA 8,8
Figure 8.
Once again, you will see the random numbers se-
lected graphically represented by columns on your
screen. As you can see, the subroutine returns ran-
dom values quickly. Now stop the program with the
BREAK key and change Line 40 to read:
48 A=USRtRAND,ie8,181)
RUN the program again. See how fast columns 100
and 101 grow? Seeing is believing: the masking meth-
od of generating random numbers gives much faster
results than the "hat" method, even when the ran-
dom number range is small.
Don't change that dial!
Next issue, we'll delve into new areas of assembly
language programming on the Atari personal com-
puters. Until then, study these program examples to
increase your understanding. Remember, if you get
stuck, you can contact Charles Bachand or me on
CompuServe, or by writing. D
Boot Camp
c/o ANALCfd tomputing
P.O. Box 23
^^rcester, MM
SUFFERING FROM
Atari Writer
plus Printer Woes?
PRINTER
FORMATTED
DATA DISK
• EACH PRINTER DATA DISK WILL GIVE
YOU ALL AVAILABLE OPTIONS POSSIBLE WITH
YOUR PRINTR& ATARI WRITER
• NOWYOUCANEASILYUNDERLINE.SUPER/-
SUBSCRIPT, ELONGATE, DOUBLECOLUMN PRINT,
CHANGE FONTS, ETC.
AVAILABLE FOR
MATRIX$i A95
PRINTER ■ ^
BMC - C. ITON - EPSON -
GEMINI -LEGEND -OKIDATA-
PANASONIC - ATARI -
RITEMAN - CITIZEN
PLUS OTHERS
DAISY A-* -ft-
PRINTER ^^
SILVER REED
PANASONIC
JUKI - DIABLO - OLYMPIA
SMITH CORONA
PLUS OTHERS
SPECIFY PRINTER MAKE & MODEL
Send Check or Money Order to:
Dept. 3, 86 RIdgedale Avenue
Cedar Knolls, NJ 07927
(NJ Residents add 6% Sales Tax)
Dealer Inquiries Invited
CIRCLE #128 ON READER SERVICE CARD
NEED HELP?
Use Handicards!
Quick Reference Instructions
for Atari Programs
• Organized commands
• Easy to read
• Durable plastic (11" x 4 1/4")
• Use on or off computer
Now available for:
ATARIWRITER-
Beginning BASIC
(with Error Codes)
Only $8.95 ea. postpaid
(NY residents add sales tax)
"Trademark of Atari Corp.
Hand! Publishing Inc.
P.O. Box 453
Ardsley, NY 10502
CIRCLE #135 ON READER SERVICE CARD
ATTENTION AJfiiR\ DISK
DRIVE OWNERS
Back up your
valuable software.
THE CHIP
THE CHIP with Arctiiver/Editor Software tor the Atari
B10 and 1050 disc drives. Includes Disassembler &
Sector Editor. Includes Custom Formatter and Map-
per. Backs up virtually any disk.
$129.95 POST PAID
Available soon for
other Atari compatible disc drives.
HAPPY 810 ENHANCEMENT
Complete with Warp Speed software package. Plug-in
installation — no soldering. Backs up any disc.
Regular Price $249.95
LIMITED SPECIAL OFFER $199.95
Soon available tor other disc drives.
HAPPY OWNERS
Update your •nhancwrwnt with Happy Version Arch-
iver/Editor. Makes Happy drives compatible with the
chip.
$39.95 POST PAID
AH sottwarm tor th» Atari DISCOUNTED 30H or MORE.
Discounts on ell Atari compatlbl* hsrdw»r«.
Send lor lre« brochure on any o( the above or lor details on our
sottware discounts.
SOUTHERN SOFTWARE
A DIVISION OF SOUTHERN SUPPLY COMPANY
1879 RUFFNER ROAD BIRMINGHAM, At 3S210
24 HOUR PHONE 205-956-0986
Order before n A.l^. lor same day stripping.
CiRCLE #136 ON READER SERVICE CARD
Need something interesting to do with that left o»er
hamburger! How about a dessert for someone on a diet?
The recipe you need is only seconds away with:
THE COMPUTER
GOURMET
The Computer Gourmet is your complete kitchen helper.
Twelve servings too many? A quicit keystroke and your
serving size is adjusted to the number you need. Want a
shopping list of ingredients? No problem!
The Computer Gourmet even comes with its own complete
set of recipes! (And its very easy to add your own.)
Automate your kitchen with
The Computer Gourinet
Available on disk lor Atari- computers (requires 48K).
Send $29.95 plus $2.00 for postage to:
NEW HORIZONS SOFTWARE
P.O. Box 180253
Austin, Texas 78718
Or, for more information, call (512) 4454767.
New Horizons
Expanding Your Life
Contact us lor information on all our products for Atari Computers.
\ Deater inquiries invited. Atari is a trademarlt of Atari, Inc. /
CIRCLE #137 ON READER SERVICE CARD
5UPER 3D
PLOTTER
-THIS rs IT!!
AN INCREDIBLE 3D ftNIMflTION AND
DISPLAY PftCKflSE FOR ALL ATARI
COMPUTERS WITH 4BK RAM AND ONE
DISK DRIVE. THIS PRDBRAM WILL
ALLOW YOU TO CREATE DETAILED 3D
LINE DRAWN IflABEB, IN FULL
SCREEN, HI-RES COLOR! LAY OUT AN
ENTIRE CITY OR DESISN COMPLEX
OBJECTS WITH THE AID OF ft HISHLY
VERSITILE SCREEN EDITOR. THEN,
SIT BACK AND BE AMAZED AS YOU
MOVE AND ROTATE YOUR CREATION,
AT AN UNBELIEVABLE 3-4 SCREEN
UPDATES PER SECOND! t THIS IS THE
KIND OF ANIMATION THAT WAS
CONSIDERED IMPOSSIBLE FOR AN
ATARI. BELIEVE IT!! THIS PROSRAM
ALLOWS MORE REAL TIME CONTROL
THAN ANY CURRENTLY AVAILABLE 3D
SYSTEM FOR ANY 8 BIT MACHINEl
• FULL ROTATION AND ROTATIONAL
OFFSET CONTROL ON ANY AXIS!
• CHANSE VIEWER DISTANCE,
MAGNIFY, AND ALTER
PERSPECTIVE AT WILL!
• SPEED AND ACCELERATION
CONTROL IN ALL DIRECTIONS.
■ ALL MOVEMENT EXCEPTIONALLY
SMOOTH AND ACCURATE
• DUMP ft SUPER HI-RES 164B X
3841 IMAQE TO EPSON AND
MOST OTHER DOT MATRIX
PRINTERS.
» CHAN8E OR ADD TO YOUR
CREATIONS AT ANY TIME. FULL
DISK BTORABE CAPABILITY FOR
YOUR FINISHED WORK.
AND MUCH MORE!
FOR MORE INFO ON THIS
MASTERPIECE, SEND S.A.S.E. TDl
RANDOLPH CONSTAN
23 BROOK PLACE
E. I8LIP NY,ll73B
^min^g'p
.^
^-ip
Design characters or symbols
vith a joystick. Save them &,
dovnload sets to an Okidata
92 or Epson FX80 printer.
Comes with a librarg of fonts
Requires 48k Atari®. On disk.
Send $29. 95 (check or money
order -Specily printer) to:
Designer S. Inc.
7543 V. Hillsborouqh
Tampa^ F1. 33615
Visa & Mastercard accepted
Phone (813)-884-6640
Hours 1 ;00am to 9 :30pm
i
jj^Q^^I
\W22Zi
CIRCLE #138 ON READER SERVICE CARD
CIRCLE #139 ON READER SERVICE CARD
PAGE 84
ANALOG COMPUTING
ISSUE 29
WINTER CES; Part 2
(continued from page 4)
Unfortunately, Commodore wasn't showing their
recent acquisition, the Amiga. Its unveiUng is now
scheduled for June's Summer CES in Chicago. The
latest word is that it will not use the Digital Research
GEM operating system, but rather a similar (though
not compatible) operating system.
It seemed as if there were dozens of the Japanese
MSX computers in attendance. You will recall that
MSX was announced just about three years ago, her-
alded as the beginning of a new wave of home com-
puters. As it turns out, a lot has happened in the
low-end home computer market in the last two years.
What once looked like a shoo-in is now not so like-
ly to be an automatic success.
MSX was to bring a standard to the low-end com-
puter business. That may have been fine two years
ago, but now that Commodore and Atari are the only
two players in the low-end market, it's virtually im-
possible for a newcomer to break in. Sorry MSX, you
missed your market window.
What of Apple and IBM? Both were no-shows at
this CES, but some interesting rumors were circulat-
ing. Apple is understandably a little nervous about
its overpriced Macintosh computer, especially in light
of the new Atari ST line.
If the information I've received is correct, Apple
will have announced significant price reductions by
the time you read this. Apple might be selling the
I28K Macintosh for about $1495 and the 512K
Macintosh (the fat Mac) for about $2495.
Software.
Atari had very few software titles on display, but
those available were very impressive. The most nota-
ble was a product called Infinity, developed by Matrix
Software in Cambridge, Massachusetts. Infinity is an
integrated software product that has a word proces-
sor, spreadsheet, relational database and telecommu-
nications programs.
Infinity uses a technique called virtual memory for
its disk storage, so that the size of any document is
dependent on the amount of storage available on the
disk, rather than on how much RAM the computer
has. It will be available for the Atari XE and ST com-
puters. Price is expected to be $50 for the XE version
and $79 for the ST version. It's said that Infinity will
even run on the Atari 800 and XL computers.
Another new Atari program is Shopkeeper. This
is a modular program for small business use. It will
sport inventory, accounting and electronic cash regis-
ter functions. The first module, available in the first
quarter of 1985, is essentially an electronic cash reg-
ister emulator. It will keep track of inventory as sales
are made, compiling a daily report which is directly
transferable to the general ledger module (to be avail-
able in the second quarter). Atari said that there would
be six modules in the series.
Still another Atari software title is the Silent Bu-
tler. This home financial program balances multiple
checking and credit card accounts. It allows the user
to set up various categories for financial tracking and
even permits easy maintenance of tax deductions. The
most novel aspect of this new program is its ability
to print on your own ordinary personal checks by
means of a plastic holder.
Song Painter is Atari's music construction program
for their current line. It allows the user to place stan-
dard notation musical notes on the screen by using
joystick-controlled, self-explanatory icons. Because of
these features, this program is easy to use and will
allow even musical novices to tinker with making
music.
Atari finally announced that the Plato cartridge
would become available in the first quarter of 1985.
However, Control Data (not Atari) will be marketing
this telecommunications learning aid. The official
name of this product is the Learning Phone, and it
will retail for under $50.
Other new software products include the Atari Tu-
torial, a cartridge which explains the XL parallel bus,
ROM, RAM, graphics, and so on. Crystal Castles
and Mario Bros, are both cartridges based on the
coin-op games.
Crystal Castles.
Batteries Included, the Canadian firm most noted
for its Commodore products, was showing some new
Atari software. They haven't been in the Atari mar-
ket long, but their recent product introductions for
the Atari have been strong. The integrated software
package called HomePak contains a word processor,
database and terminal program. (See the reviews of
HomeTerm and HomePak in ANALOG Comput-
ing's issues 25 and 28, respectively.) Voted the 1984
bargain of the year by Infoworld, HomePak lists for
$50.
ISSUE 29
ANALOG COMPUTING
PAGE 85
Another recent release for the Atari is B/Graph
(reviewed in issue 15). Although first published over
two years ago by In Home Software, B/Graph had
been unavailable to Atari owners for almost a year.
It offers the capability to do high quality charts, graphs
and statistics for business or educational use. B/Graph
lists for $70.
The major news coming from Batteries Included is
that their Paper Clip for the Atari is almost com-
pleted. Paper Clip is an extremely powerful word pro-
cessor. It offers dual text windows, print previewing,
dozens of printer drivers, macro capability and a host
of useful features. Two of the features I particularly
like are the automatic word count command and the
two-letter reversal command for correcting mistakes
like hte. Paper Clip will sell for about $80.
/
Bounty Bob Strikes Back.
Big Five Software Jias announced the sequel to their
very -popular Miner 2049er. Called Bmnity- B9E.
Strikes Back, this new game provides^.ra0re'"oF the
same type of hopping, jumping aiid^nmbing aceirlfy
that made the original game §iich a success. bounty
Bob is available for the Atari computer /low, for a
rather steep $49.95. It corals on a bank-s^ecting 40K
ROM cartridge. The ne^v game features improved
graphics and sound, and o\?^ twenty scre^. The title
screen and the high score screen are very i;lever and
amusing. Bill Hogue and CUrtis Mikolyskl, its pro-
grammers, have done arj^eifcellent joK j-
Broderbund had only one significant product an-
notmrement for Atari owners. The Print Shop will
be available for the Atari computer by the tii«e you
read this. The Print Shop allows you to,make greet-
ing cards for family and friends, stationery for personal
or business use, banners, signs, notices, advertising
flyers. . .whatever you want. '^
The program is menu-driven and esisy to use. I've
seen the results, and they're quite good. The Print
Shop provides eight type styles in various si^es, dozens
;,of already created pictures and symbols, a text ai^d
^graphic editor to allow you to create your own designs,
and numerous border designs and pattersn for use in
your printed output. . .all for $45.
CBS Software had what seemed to be dozens of new
titles but few, if any, for the Atari computer. Dr. Seuss
Fix-up the Mix-up Puzzler is an electronic jigsaw puz-
zle that features six favorite Dr. Seuss characters, in-
cluding the Cat in the Hat. Each puzzle is randomly
designed and has five skill levels. The more advanced
levels divide the picture into more and smaller pieces.
The list price for this educational game is $30, and
it will be available in March of 1985.
No other titles for the Atari were announced by
CBS, but recent educational games include: Sesame
Street Astro Grover, a counting and adding game
that provides learning and fun for children aged 3 to
6; Sesame Street Learning Go Round, a letter recog-
nition and simple spelling game for youngsters 3 to
6; and the excellent Success with Math series of self-
paced math tutorials for children in grades 6 through
12.
Electronic Arts, less than two years old, currently
has about fifteen software titles for the Atari. In their
first year of existence, they supported Atari computers
with over a dozen software titles, including such greats
as Pinball Construction Set, M.U.L.E., Seven Cities
of Gold and Archon. Unfortunately, Electronic Arts
announced no new titles for Atari at the CES, al-
though they did have some interesting new Commo-
dore 64 material 64. Hopefully, we'll see these ported
over to the Atari sometime this year.
Epyx had some surprising news. Lucasfilm's Ball-
blazer and Rescue on Fractalus, originally developed
over eight months ago for the old Atari, will be dis-
tributed on disk by Epyx, rather than on cartridge
,bv" Arart;^oth -games'age said to contain additional
4oxxn& 6n the originals.
Ballby^
Ballblazer is a futuristic tw<>-player fantasy sport
game, played at high speeds on a^plit screen khg^
ing both players' points of view. Resciie-^^n Fractalu*-^
is a space action strategy game, featuring excellent^
PAGE 86
ANALOG COMPUTING
ISSUE 29
3-D animation. The player flies a fighter spacecraft
to the planet Fractalus, to rescue downed pilots, bat-
tle enemy saucers and destroy gun emplacements.
In addition to announcing these Lucasfilm games,
Epyx reported that they had signed a deal with Lucas-
film to bring out two future games for the Atari and
other computers. The current disks will retail for about
$35.
Epyx introduced four of their own action/strategy
games. Summer Games 11 is a follow-up to their pre-
vious Olympic-style game. New events in Summer
Games II: fencing, cycling, equestrian competition,
kayaking and others. Two-on-Two Sports is a sports
game with truly cooperative team play. Enthusiasts
are offered the chance to play against the computer,
as a team, in four popular sports — volleyball, soccer,
football and baseball. Players can also face each other
individually or in pairs, and a single player can com-
pete with a single computer opponent.
Epyx's FBI takes the fun approach to simulations.
Players are challenged to pass the Bureau's qualifica-
tion tests. You can try your skill on the combat pistol
range, attempt the obstacle course, challenge your
memory by constructing "mug" shots, or take a general
examination on your knowledge of criminology and
more. Pass the test and you can become a "G-Man."
The fourth new action/strategy game from Epyx is
called The Right Stuff. It's billed as a state-of-the-
art flight simulation game. You are in the cockpit of
a World War II Spitfire in the Battle of Britain. With
joystick in hand, you take off, intercept the enemy
in aerial dogfights and then land. Get those goggles,
silk scarfs and leather jackets out for some seat-of-the-
pants flying.
Three new games from Epyx.
Two popular mainframe computer games were also
introduced by Epyx. Empire allows you to strategize
your way to global domination, and the mission in
Rogue is to make your way through a maze of seem-
ingly never-ending dungeons, returning with the "Am-
ulet of Yendor."
In Moreta: Dragonlady of Pern, the sequel to Dra-
gonrider of Pern, players must fight off a dreaded dis-
ease. This adventure role-playing game follows the
characterizations in Anne McCaffrey's novels.
Epyx also announced three more games for the Atari
and other computers: G.l. Joe, Hot Wheels and Bar-
bie. All will be priced under $30 each and should
be available soon.
Imagic displayed their latest release. Chopper Hunt,
in which you play a soldier of fortune, piloting a heli-
copter in search of buried treasures. As you blast for
objects, the holes you form are rapidly filled in by an
enemy plane flying overhead. It's available on a flip-
disk for Atari or Commodore at $19.95.
MicroLab announced a couple of new programs for
the Atari. Personal Banker allows you to keep track
of your checkbook (up to 100 transactions per disk,
with a running balance). Expenses can be sorted ac-
cording to budget categories, and the program can
reconcile your bank statement. HomeWriter is Micro-
Lab's new word processor. It seems to have most of
the usual word processing features and is easy to use.
Both will sell for about $50.
Several educational games were also introduced.
Barnaby Builder and Barnaby Math are both arcade-
style games to develop early math, logic, planning and
perceptual skills. Mind Bind is a type of development
game, presumably for young children. It was developed
by educational psychologist Dr. Dorothy Rubin, but
what it teaches is unclear to me. (Boy, I wish some
of these companies would just come out and tell you
what their product does.)
Mindscape publishes educational software of gener-
ally high caliber, representing valid learning princi-
ples. The company— new to the Atari market— was
exhibiting only a few products for Atari.
The Halley Project.
Their most impressive Atari software title is The
Halley Project: A Mission in Our Solar System. This
is a real-time space adventure simulation written by
Tom Snyder. Every planet, star or moon depicted here
moves at the same rate of speed and in the same or-
bit as it does in our solar system.
The Halley Project uses high resolution graphics
and attention to detail in what looks like a very good
simulation of outer space. Players must qualify for the
top secret "Halley Project" by completing a series of
navigational tests. Through the tests and obstacles,
the program helps players master facts about our solar
system, including Halley 's Comet and its orbit. Un-
derstanding of gravity, atmospheric conditions, orbi-
tal motion, relative size, position and orbits of planets
and moons, plus locations of constellations and how
eclipses work are all provided. The Halley Project
will be available in March 1985 for $45.
Ghostbusters.
Activision was very visible at the show with several
new products, all flashing a new, classy logo. You may
never get the chance to be in the Ghostbusters sequel,
but with your Atari, you can get a crack at bustin'
some ghosts— as a G.B. franchise owner. As you travel
through the city, you use a nuke accelerator pack and
G.B. squad car to nab the ghosts— constantly on the
watch for the marshmallow man. If it's a job well done,
you'll have the chance to enter the Temple of Zuul
for the grand finale.
The Designers Pencil offers a menu of over eighty
English commands used to build "programs," to create
pictures, colors and sounds. Space Shuttle, the popular
VCS simulation, is now available for the home com-
puter line. Other new titles eventually to be on the
Atari are: Rock N' Bolt, Web Dimension, Master
of Lamps, Countdown to Shutdown, Alcazar: The
Forgotten Fortress, Fireworks and The Great Amer-
ican Cross Country Road Race (whew). Several of
these are graphic adventures which Activision feels
"are in tune with the consumer," as is their lowered
pricing.
Microprose, the experts on flight "anything" for
Atari computers, have several new war simulations on
the way. Crusades of Europe pits the Americans/Brit-
ish against the Nazis, from D-Day through the Bat-
(continued on next page)
IT'S HERE!
The R- Verier for
PRINTERS
See the Model "P"
Connect your ATARI™ to
fine Serial Printers like:
• BROTHERS EP - 22/44
• OLYMPIAECT-1
• SMITH CORONA TP-1
• OTHERS
Directly compatible with
BASIC, ATARI WRITER, and
many other programs.
Also included —
"File Printer" - prints files
directly from disk.
Single sheet printing, too!
Only $49.95 plus S/H
Contact your favorite Dealer today
or call
I ADVAIMC6D INTERFACE DEVICES |
P.O. Box 2188
■ Melbourne, FL 32902
(305) 242-2772
C.O.D. - VISA - M.C. - CASH
Atari IS a trademark of Atari, Inc
R-Verter is a trademark ol Advanced Interface Devices. Inc.
CIRCLE #140 ON READER SERVICE CARD
PAGE 88
ANALOG COMPUTING
ISSUE 29
tie of the Bulge. Decisions in the Desert relives the
fierce battle between Rommel's Afrika Korps arki the
^British 8th Ariji^ "Thesp games are a quantum l&ap
raTOfidTiReir previous NATO Commander — certainly
state-of-the-art computer wargaming.
Later, you can be on the lookout for Blitzkrieg
1940, the Sword of Zion and the Drive on Moscow.
The last three will retail for $39.95 each. Also to be
released shortly is Kennedy Approach, a real-life air
traffic control simulator, complete with speech syn-
thesis "broadcast" messages from the computer. You
control small civilian aircraft all the way up to the
Concorde SST, for $34.95.
Parker Brothers, the folks who brought us Q*Bert,
Gyruss, Mister Do, Montezuma's Revenge and Chess,
announced only one new title for the Atari computer.
Q*Bert's Qubes, a sequel to Q*Bert, will allow you,
once again, to have that lovable Q*Bert hopping
around your video screen. In this "upbeat sequel,"
Q*Bert must hop from qube to qube — rotating them
with his feet while dodging menacing Meltniks, Shoo-
bops and the Infamous Rat-A-Tat-Tat. (Hey, I didn't
make these names up!) The game will come on a disk,
sell for $25, and be available in the first quarter of
1985.
Spinnaker announced some new educational titles.
Math Busters develops and improves the player's abil-
ity to use and manipulate the four arithmetic processes
— addition, subtraction, multiplication and division.
The program takes place within the overall context
of a fast-moving adventure game. It's recommended
for ages 8 through 14 and will retail for $20.
Rock 'N Rhythm (for ages 10 through adult) en-
courages the player to experiment with and develop
his or her sense of rhythm, tempo and melody. All
this takes place as the player's own band and record-
ing studio composes, plays and records songs. The
price will be $20.
Suncom announced a new version of PQ — The
Party Quiz Game. With over 2700 new questions,
the Bible Edition of PQ allows trivia buffs to test their
knowledge of the Old and New Testaments. The ques-
tions were authored by Father John Massion of the
St. Isaac Jogues Catholic Church in Niles, Illinois.
Questions cover the history, geography, psalms, prov-
erbs, parables, kings, people, places and events of the
Bible. The Bible add-on questions retail for $24.95.
The basic PQ game has been reduced to $49.95.
After a long lapse. Creative Software has a new
Atari product. Trolls and Tribulations. The player
leads trolls into underground caverns to find ancient
treasures. The dangers are many, and there are thirty-
two chambers to explore, at seven levels. Keep an eye
on this company. This one retails at $24.95.
Epson introduced their latest printer to the world,
the HomeWriter 10. The sleekest printer we've seen
from anyone yet, the unit is color-coordinated with
whatever computer it's interfaced to (using plug-in in-
terface cartridges). Print modes include "draft" and
"jear letter-quality," at speeds of 1000 wpm (100 cpsj
in^rafi^ec IGcroj^jieaxJjetter-quality. Other fea- \^
turesTTttekrternction paper feed, bi-directional print-
ing and a IK buffer, for $269 retail.
TSBBTWfPC
Trolls and Tribulations.
Synapse Software wasn't on the main floor of CES,
due to their new financially austere management poli-
cy. Having lost a significant amount of money on the
old Atari, and having recently been bought by Broder-
bund, they chose to exhibit their new products in a
more private setting.
In the comfort of a hotel suite, they were proudly
showing some excellent new text adventure games.
Mindwheel is the first of these so-called "electronic
novels." Packaged in hardbound book form, its early
chapters set the scenes and story lines, and introduce
the characters. The game really begins with the en-
closed floppy disk.
Like other interactive fiction, Mindwheel makes the
user the center of action. Decisions he or she makes
will determine the plot of the story and, ultimately,
the outcome. Interestingly, the manner in which the
user talks with the various personae will elicit an in-
character reply.
In Mindwheel, you must journey into the minds
of four deceased people of extraordinary power. You
take a mind-bending telepathic trip back to the be-
ginning of human civilization, in order to retrieve the
"Wheel of Wisdom." Robert Pinsky, published poet
and Shakespeare lecturer, is the author of this first
adventure.
In other Synapse news, the list prices on SynFile+ ,
SynCalc and SynTrend have all been lowered to $50.
This makes these already-excellent programs even
more of a value. Also, most of their computer games
now come two to a box and are attractively priced
at about $25.
That's it for this report . . . the CES was, as you can
see, a busy one. My socks are still with me, but Atari
did capture its share of attention. D
ISSUE 29
ANALOG COMPUTING
PAGE 89
SOFTWARE MOVIES: VISUALIZER
by Tim Kilby
MAXIMUS
6723 Whittier Avenue
McLean, VA 22101
400/800 Cassette or Disk $49.95
by Arthur Leyenberger
There are several programs currently available for
the Atari computer that allow the creation of graph-
ics screens. Most of these programs allow you not only
to create your screens, but also to save them on disk
or tape, and to print them on a printer.
However, Software Movies: Visualizer is the only
program I know of that, in addition to the above fea-
tures, also simulates a slide projector. Screens can be
sequenced in any order (up to twenty per disk) and
shown either automatically or manually. A cassette
recorder may also be used to provide a voice narra-
tion or music, and to synchronize the slide show.
Written by Tim Kilby, Visualizer comes packaged
in a plastic, book-style binder with a two-sided disk
and a cassette tape for runiiing the synchronized demo
program.
Side one of the disk contains the program, and side
two contains the sample slides. Visualizer is really
three programs in one. If offers a graphics creation
program, an electronic "slide" creator/projector pro-
gram and a screen dump program. A jigsaw game is
also provided. The program is easy to use, and the
manual is brief but well written.
Slides are created using the graphics editor program.
The graphics 7 screen is divided into two windows —
the graphics window and the caption window. The
graphics window is used for drawing and marking po-
sition, with a cross hair cursor indicating location.
The caption window contains prompts, menus and
questions during slide creation. It also may contain
a caption for the finished slide.
Visualizer uses the computer keyboard and a joy-
stick. The speed of the on-screen cursor may be ad-
justed, and the joystick is used for drawing. The cursor
control keys are used for fine cursor movement. Al-
though the program is straightforward and easy to use,
on-screen help is provided for any of the functions.
Four colors may be selected from the "paint pots"
displayed at the bottom of the screen. These color
registers may be changed at any time. For drawing,
any of four line widths may be selected. In addition,
built-in functions for circles, ovals, rectangles and di-
agonals are provided.
Any area of the screen can be filled, either with
a solid color or a textured combination, with the fill
option. A border may be drawn around the entire
screen, and new fonts, created with other character
set generators, may be used. The text function is es-
pecially useful.
Text can be created in either the graphics window
or the caption window. Text may include letters, num-
bers, punctuation, mathematic operators and block
graphics characters. In fact, any of the 128 keyboard
characters can be drawn on the screen in any of four
colors, in either normal or inverse video modes.
The text can be displayed in any of twenty-four va-
rieties or styles. Tall, wide, italicized, shadowed or
striped letters are available. Depending upon the op-
tions chosen, from eight to nineteen characters will
fit on one line. 1 have created dozens of title slides
for presentations using the text function of Visualizer.
The shadow lettering is especially attractive and adds
some class to the title slide.
m> Show Slides
D>
set Auto T^'^flH^H
W> sort Slides 9
il>
Load flssortnent
B>
create Slides
■-m
:'■■' "'J^ ■':, ' V: > ■'/■'■il'r':
select option
Visualizer.
Once your slides are created, you may store them
on disk. You can even merge slides. There is an ani-
mation function of Visualizer that can give your slides
the illusion of movement.
One-color switching alternates color #1 with the
background color, to give an effect much like a flash-
ing neon sign. Two-color switching switches colors
#1 and #2 back and forth. A carefully-designed slide
may appear to rotate by using this feature. Three-color
switching provides the greatest amount of simulated
movement. Here, the three line colors continuously
alternate. The background color is the only one that
remains static.
Three other animation options are available. Mar-
quee operates on color #1. Moving colors appear, and
the effect works well with large shapes. Sparkle is simi-
lar to marquee, in that it gives a sequence of color
to any lines drawn in color #1. Its effect is somewhat
more subtle than that of marquee.
Finally, rainbow animation varies the hues of any-
thing drawn in color #1. Colors appear to be pastel,
reducing the dramatic effect while still attracting at-
tention to the shapes. The moving colors appear as
constant luminance on a monochromatic screen, and
the effect is best used with striped or textured shapes.
PAGE 90
ANALOG COMPUTING
ISSUE 29
The animation option chosen for the sUde will be
saved, along with the picture, on the disk file.
The slide show portion of Visualizer simulates a
rotary tray slide projector's operation. With a slide
projector, a round tray is loaded with pictures which
are then projected onto a screen, in sequence. The
projectionist may advance the slides forward or back-
ward and may set the projector's automatic timer to
advance the pictures automatically.
tains some other useful information. Suggestions for
parents on children's activities, as well as suggestions
for making creative slides are included. There is also
a section for programmers that has a program for load-
ing Visualizer slides into your own BASIC programs.
Unlike many software companies, Maximus pro-
vides user support for their programs. A toll-free "hot-
line" phone number is given, for help with the
program or to find out about their other products.
Visualizer is an excellent graphics package. It can
be used for creative experiments with graphics or to
produce good-looking title slides. My major use of
the program has been to create title slides. Then I
photograph the screens and use the real slides in my
presentations. Many people think 1 have used an ex-
pensive stand-alone graphics system to produce these
slides. When 1 tell them that 1 used an Atari com-
puter to make the slides, they are amazed.
Thanks to Visualizer, my presentations are more
professional and interesting. For those of you who
fancy yourselves as budding video producers and
directors, Visualizer could come in handy for mak-
ing up very professional-looking titles. And, if you
happen to have a video mixer, some really neat things
can be done with this program and your video cas-
sette recorder. D
Visualizer's projector works the same way. Slides
that you create are selected and loaded onto an im-
aginary slide tray. The "electronic projector" has ad-
vance, reverse and automatic timer features, just like
a real slide projector.
Once a disk of slides is loaded into the "projector,"
you may choose all or some slides and sort them in
any order. This sequenced assortment may be saved
for multiple screenings — and to avoid having to per-
form the sorting process in subsequent showings.
The built-in timer allows four preset time intervals,
or you can enter your own interval. Also, the timer
can be set to function with an Atari 410 or 1010 Pro-
gram Recorder. The manual provides instructions for
synchronizing the slide show with a prerecorded tape.
Directions are also given for creating synchronization
tapes with a stereo cassette tape deck or recorder.
My only criticism of Visualizer concerns the way
in which slides are shown. A slide is displayed on
the screen, then the screen blanks out while the next
slide loads. Although the screen is dark for only a
few seconds, it would be better if the next slide could
load while the current slide is being displayed.
A utility menu is available at any time during the
slide creation program. Slides may be renamed or de-
leted, and an index of slides currently on the disk
may be viewed. Also, a disk can be formatted from
within the slide creation program, to avoid having
to load DOS and then reboot Visualizer.
In addition to providing instructions for creating,
showing and printing slides, the 40-page manual con-
Number Conversion Chart
Here's a handy little program, written by
Scott Sheck, of Gaithersburg, Maryland. It will
generate a chart of decimal numbers from to
255, along with their hexadecimal and binary
ecjuivalents. The chart will fit nicely on one
sheet of 8Vi X 11 printer paper, and provides all
those numbers at a glance.
1 REM milCKMMKKlClClCKlCKMKMKMMlCICKKlCMMIt
2 REM It n
3 REM » HEK/DECINAL/BINARY CHART *
4 REM » BY SCOTT SHECK »
5 REM * A.N.A.L.O.G. COMPUTING *
6 REM « »
7 REM WKMKMKKMmtlCMMMKlCKlClCIClClClCKlClCKlC
le DIM HEX$C2},H$C16),BINARY$C8}:HS="0
123456789ABCDEF":P0KE 2ei,5:0PEN ttl,8,
0,"P:"
29 FOR K=l TO 4:? Ill; "DEC. HEX BINARY
I "; :NEXT X:? Ill
30 FOR X=e TO 63
40 FOR DEC=X TO 255 5TEP 64 :U=DEC :G05U
B 6e:U=DEC:G0SUB 80:? ttl;DEC,HEX$;'
BINARY^;" | ■
58 ? tti ;NEXT
60 REM
78 FOR I=2^T0 1 STEP -1 :T=INTCV/16i :R=
U-16*T : HEXS tl , 13 =HS IR+1 , R+IJ : M=T : NEXT
I:RETUR|L
80 REM
90 FOR 1=8 TO 1 STEP -l:T=INTCU/2J :R=U
-2»T: BINARY* CI, IJ=STRSCR} :M=T:NEXT I:R
ETURN
X:END
DECIMAL TO HEK
DECIMAL TO BINARV
ULTIMATE STORAGE
Here's the perfect way to organize your ANALOG Computing library— sturdy, custom-made binders
and files in deep blue leatherette with embossed silver lettering. Silver labels are included to index
by volume and year One binder or a box-style file is all you'll need to accommodate 12 issues (1
year) of ANALOG Computing— all the games, programs, tutorials and utilities that you want handy.
The ANALOG Computing binder opens flat for easy reading and reference. They're economically
priced at only $8.50 each— 3 binders for $24.75 or 6 binders for $48.00, postage paid.
Tlie ANALOG Computing file is attractive and compact, holding 12 issues for easy access. Files
are available for only $6.95 each— 3 files for $20.00 or 6 files for $36.00, postage paid.
Foreign orders — add $2.50 each for shipping and handling.
Please allow four to five weeks for delivery.
Enclosed is my check or money order in the amount of $ .
Please send me: ANALOG Computing files ANALOG Computing binders
PLEASE PRINT.
Name: .
Address:
City:
Send your order to:
State:
Zip Code:
Jesse Jones Industries
P.O. Box 5120, DEPT. ACOM, Philadelphia, PA 19141
Satisfaction guaranteed or money refunded.
CIRCLE #144 ON READER SERVICE CARD
PAGE 92
ANALOG COMPUTING
ISSUE 29
INDEX TO ADVERTISERS
READER SERVICE #
ADVERTISER
READER SERVICE If
ADVERTISER
141 Active Software 92
140 Advanced Interface Devices 87
116 Allen Macroware 31
119 ■ Alpha Systems 28
110 American TV 14
— ANALOG Publishing 40, 54 56
111 Astra Systems 17
128 At-A-Glance 70, 83
108 August Publications 8
— Batteries Included OBC
126 C.A.R Software 67
142 Centurian Enterprises 92
125 Computability 53
113 Computer Creations 24
143 Computer Games Plus 92
132 Computer Palace/Royal Software 77
106 Computers Made Simple 8
115 Computer Software Services 29
138 Constan 83
130 Draper Software 76
139 D.S. Inc 83
121 Eastern House 41
109 EduTax 12
This index is an additional service. While every effort is made to provide a complete
131 GTA, Inc 76
135 Hand! Publishing 83
117 Happy Computers 33
144 Jesse Jones 91
122 Lotsa Bytes 40
133 Lyco Computers 80
109 Micca 12
145 Microprose IBC
102 MMG 2
127 MPS 70
112 Newell Industries 18
137 New Horizons Software 83
103 O.S.S 5
105 Programmers Workshop 7
123 R.A.K 52
107 Recreational Computer Products 8
104 Senecom 7
136 Southern Software 83
101 SubLOGIC IPC
120 Suncom 37
— Tiny Tek 70
118 Whitehouse Computers 35
119 Witt's End 37
124 Xlent Software 52
and accurate listing, the publisher cannot be responsible for inadvertent errors.
LElSUREMftRE""
The new fttari-onlM
Magazine on disk.
tfitK Mult
reviews,
colunns o
Basic and
Tips for
beginner .
old publi
software^
can get a
new and o
software
every Mon
great iss
on a two-
filled wi
the best
around an
just SS p
Try one i
will love
the canad
Magazine
HM reside
add tax p
shipping .
state add
a SASE or
BBS for i
i-person
exc i ting
n Action^"
Assenbly
experts or
tfhy buy
c domain
when you
dish with
riginal
each and
th. Each
ue coMes
sided disk
th soMe of
software
* it cost
er issue,
ssue, you
it! ROM
ian Atari
is only $2
nts Please
lus 51 for
Out of
$2. Send
call our
nf orMation
vailable only fro*
ACTIVE COMPOTER
ENTERPRISES
(SOS) 524-1390
pa Box 412
Las Cruces HM 880Q4
CIRCLE #141 ON READER SERVICE CARD
ATARI HARDWARE / SOFTWARE
810 Disk Drives $265 (7)
810 Disl< Drive Kits $240 (7)
810 Happy Eniiancemcnt $185 (4)
1050 Happy Eniiancemcnt $185 (4)
810 Analog Upgrade Kit $ 37 (3)
850 Inter/ace Module $125 (7)
Atari 800 Computer Kits
48K Electronics $100 (7)
Atari 400 Computer Kit $ 47 (5)
800 OS lOK ROM 'B' Board $ 17 (2)
CPU 'GTIA' Board $ 18 (2)
16K Memory Board $ 19 (2)
400/800/810/850 Power Adapter $ 15 (3)
I/O Data Cable, 6' $ 12 (2)
13 pin I/O Plug Kit (cable end) $ 3 (1)
13 pin I/O Jack (Port) $ 3 (1)
Atari Joystick (standard) $ 5 (2)
Atari Paddles (set) $ 8 (2)
All types of other boards and parts arc available!
Atari Microsoft Basic II
Cartridge w/manual $ 27 (3)
Atari Pilot, Cart, w/manual $ 22 (3)
Atari Basic Cartridge Kit $ 15 (3)
Atari Assembler/Editor Cart. Kit $ 15 (3)
Ordering Information: All boards listed are complete
with all parts and are fully guaranteed. UPS shipping
charges are shown in brackets next to the price. Ship-
ping charges must be included with all orders. Orders
may be placed by phone using your VISA or Master-
Card, or you may mail your order in with a check or
money order. Hurry, some supplies are limited.
CALL OR WRITE FOR FREE
CATALOG!!!
CENTURIAN ENTERPRISES
(805) 544-6616
Post Office Box 3233
San Luis Obispo, CA 93403-3233
Sales Office: 890 Monterey Street
Suite B, SLO, CA 93401
CIRCLE #142 ON READER SERVICE CARD
New Low Price - Completel
INDUS CT
"%^^J I • V •
»
MPP MICROPRINT $49.95
MPP1150 $69 95
MPP 1000E MODEM $119.95
V0LKSM0DEM12 $229.95
BASIC XL $59.95
BASIC XL TOOL KIT $29.95
THE WRITER'S TOOL $79.95
SYNFILE or SYNCALC $39.95
HOMEPAK $34 95
TAX ADVANTAGE $49 95
MINER 2049ER $9.95
BOUNTY BOB STRIKES BACK. . $29.95
F-15 STRIKE EAGLE $22 95
AIR RESCUE I $22 95
MIG ALLEY ACE $22.95
PIT STOP II $24 95
QUEST FOR SPACE BEAGLE $27.95
ULTIMA III $37 95
QUESTRON $39.95
RETURN OF HERACLES. . . . $24.95
UNIVERSE $69.95
BOOK OF ADVENTURE GAMES. $17.95
INFOCOM HINT BOOKS $6.95
Please add S2.50 shipping (54.50 outside USA)
California residents add 6%.
COMPUTER GAMES +
Box 6144
ORANGE CA 92667
(714) 639-8189
CIRCLE #143 ON READER SERVICE CARD
Put a ^20,000,000 Thrill in
your Computer!!!
The F-15 STRIKE EAGLE, one of the world's most sophisti-
cated fighters, costs the Air Force more than $20,000,000.00
each. Now you too can strap into your ejection seat and
prove how good you reaily are in exciting modern jet fighter
combat. Fly combat missions, engage enemy aircraft, and
destroy enemy ground targets from historic missions over
Southeast Asia to today's defense of the strategic oil routes
through the Straits of Hormuz.
F-15 STRIKE EAGLE (simulator) has all the features that
makes the real EAGLE the great fighter aircraft it is —
afterburners, multiple radars, air to air missiles, high
explosive bombs, cannon, drop tanks. Electronic Counter
Measures (EGM) flares, electronic ground tracking
maps. Heads Up Display (HUD), outstanding 3-dimen-
sional cockpit visibility, and realistic F-15 maneu-
verability. Your mission is to take off from your base,
fly to and destroy your primary target through all the
dangers of enemy territory including Surface to Air
Missiles and enemy aircraft. Of course, you have to
get back home again, tool!
F-15 STRIKE EAGLE is a very real simulation, accom-
plished with the guidance of real fighter pilots, and includes
seven different combat missions, four skill levels, and an
infinite number of exciting scenarios. F-15 will thrill and chal-
lenge you and give you the chance to prove you have the
"Right Stuff" of an EAGLE fighter pilot!!
F-15 STRIKE EAGLE is available for Commodore 64, ATARI
(48K), and Apple II (64K) computers. Suggested retail price
is only $34.95. Find STRIKE EAGLE at your local retailer, or
call or write for MC/VISA, or COD orders. Add $2.50 for
Postage and Handling (Int'l add $4.00USD). MD residents
add 5% sales tax.
Experience Che realit:y of
these ocher great: simulat:ions
from MicroProse
MicroProse Software
The Action is Simulated — the Excitement is REAL!!
1DB16 Beaver Dam Road
Hunt Valley, MD21030
[301] 667-11 51
As close to the Real
Heart Pounding
Sensational Assault
Thrill of Flying as You
Accelerated Real-
Chopper Rescue
Can Handle!!!
Time Defense of
Raids for Daring
Europe Against
Pilots!!!
Soviet Invasion!!!
Commodore 64. ATARI, APPLE, and IBM are registered trademarks of Commodore Business Machines Inc., ATARI Inc.. APPLE Computer Inc., and International Business Machines Inc., respectively.
CIRCLE #145 ON READER SERVICE CARD
imagine..
^ A Program that gives your computer the power of full word
processing, but as easy to use as a typewriter.
^ A Program that stores and retrieves any type of information and
that understands real English commands.
^-A Program that enables your computer to talk over a telephone
to other computers around the world.
by Russ wetmore.
Featuring three of the most needed personal productivity tools;
All for the incredible price of tnOt,^
«K
imagine...
4
0i
word- Processing With rfo#ie?lext
information management with HQirifeFsnd
. TCIecommunicationswIthHim^tem
fe HomePak features ail three programs on a
m. single disk. Each program works smoothly
and effortlessly with the others.
Simple enough for the first time user,
but with the features and flexibility
demanded by the experienced usbr
...^ ' AT YOUR
Atari and Commodore 5a versions of HbmePak are available Now. Appie ll e/c and PC Jr editions of HorttePak will be available winter 1984
HomePaKWill also be released in versions for other major computer systems during 1985
1 computer system may require accessory devices such as modems, printers or cards to utilize specific features of HomePak. see your dealer for details
Developed by Russ Wetmore for star systems software for; batteries ii>jciuded The Energized Softwrare Company"
•Manufacturers suggested U.S. list price. Dealers may sell for less. AD A 1984 Batteries included
Atari. Apple, commodore and IBM are registered trademarks of Atari Corp., Apple inc.. Commodore Business Machines and
^aSsilit IBM Business Machines inc, respectively. ,